Report generated on 09-Sep-2020 at 16:33:30 by pytest-html v2.1.1
| Packages | {"pluggy": "0.13.1", "py": "1.9.0", "pytest": "6.0.1"} |
| Platform | Linux-4.19.76-linuxkit-x86_64-with-glibc2.2.5 |
| Plugins | {"excel": "1.4.1", "forked": "1.3.0", "html": "2.1.1", "json": "0.4.0", "metadata": "1.10.0", "sugar": "0.9.4", "xdist": "2.1.0"} |
| Python | 3.8.5 |
157 tests ran in 41.87 seconds.
(Un)check the boxes to filter the results.
157 passed, 16 skipped, 0 failed, 0 errors, 0 expected failures, 0 unexpected passes| Result | Device | Test | Description | Duration |
|---|---|---|---|---|
| No results found. Try to check the filters | ||||
| Skipped | kg-topology-CloudEosRR1 | tests/aaa/test_aaa.py::AAATests::test_if_authentication_counters_are_incrementing_on_[kg-topology-CloudEosRR1]::setup | Verify AAA counters are working correctly | 0.00 |
|
[gw2] linux -- Python 3.8.5 /usr/local/bin/python3 ('/project/vane/bin/tests/aaa/test_aaa.py', 51, 'Skipped: No AAA setup on DUTs') | ||||
| Skipped | kg-topology-CloudEosRR1 | tests/environment/test_environment.py::EnvironmentTests::test_if_system_environment_temp_are_in_spec_on_[kg-topology-CloudEosRR1]::setup | Verify system temperature environmentals are functional within spec | 0.00 |
|
[gw1] linux -- Python 3.8.5 /usr/local/bin/python3 ('/project/vane/bin/tests/environment/test_environment.py', 51, 'Skipped: CloudEOS doesnt have temp sensors') | ||||
| Skipped | kg-topology-CloudEosRR1 | tests/environment/test_environment.py::EnvironmentTests::test_if_system_environment_power_are_in_spec_on_[kg-topology-CloudEosRR1]::setup | Verify system power environmentals are functional within spec | 0.00 |
|
[gw2] linux -- Python 3.8.5 /usr/local/bin/python3 ('/project/vane/bin/tests/environment/test_environment.py', 110, 'Skipped: CloudEOS doesnt have power supplies') | ||||
| Skipped | kg-topology-CloudEosRR1 | tests/environment/test_environment.py::EnvironmentTests::test_if_system_environment_cooling_is_in_spec_on_[kg-topology-CloudEosRR1]::setup | Verify system cooling environmentals are functional within spec | 0.00 |
|
[gw0] linux -- Python 3.8.5 /usr/local/bin/python3 ('/project/vane/bin/tests/environment/test_environment.py', 154, 'Skipped: CloudEOS doesnt have cooling') | ||||
| Skipped | kg-topology-CloudEosRR2 | tests/aaa/test_aaa.py::AAATests::test_if_authentication_counters_are_incrementing_on_[kg-topology-CloudEosRR2]::setup | Verify AAA counters are working correctly | 0.00 |
|
[gw2] linux -- Python 3.8.5 /usr/local/bin/python3 ('/project/vane/bin/tests/aaa/test_aaa.py', 51, 'Skipped: No AAA setup on DUTs') | ||||
| Skipped | kg-topology-CloudEosRR2 | tests/environment/test_environment.py::EnvironmentTests::test_if_system_environment_temp_are_in_spec_on_[kg-topology-CloudEosRR2]::setup | Verify system temperature environmentals are functional within spec | 0.00 |
|
[gw0] linux -- Python 3.8.5 /usr/local/bin/python3 ('/project/vane/bin/tests/environment/test_environment.py', 51, 'Skipped: CloudEOS doesnt have temp sensors') | ||||
| Skipped | kg-topology-CloudEosRR2 | tests/environment/test_environment.py::EnvironmentTests::test_if_system_environment_power_are_in_spec_on_[kg-topology-CloudEosRR2]::setup | Verify system power environmentals are functional within spec | 0.00 |
|
[gw0] linux -- Python 3.8.5 /usr/local/bin/python3 ('/project/vane/bin/tests/environment/test_environment.py', 110, 'Skipped: CloudEOS doesnt have power supplies') | ||||
| Skipped | kg-topology-CloudEosRR2 | tests/environment/test_environment.py::EnvironmentTests::test_if_system_environment_cooling_is_in_spec_on_[kg-topology-CloudEosRR2]::setup | Verify system cooling environmentals are functional within spec | 0.00 |
|
[gw0] linux -- Python 3.8.5 /usr/local/bin/python3 ('/project/vane/bin/tests/environment/test_environment.py', 154, 'Skipped: CloudEOS doesnt have cooling') | ||||
| Skipped | kg-topology-CloudEOSEdge1 | tests/aaa/test_aaa.py::AAATests::test_if_authentication_counters_are_incrementing_on_[kg-topology-CloudEOSEdge1]::setup | Verify AAA counters are working correctly | 0.00 |
|
[gw0] linux -- Python 3.8.5 /usr/local/bin/python3 ('/project/vane/bin/tests/aaa/test_aaa.py', 51, 'Skipped: No AAA setup on DUTs') | ||||
| Skipped | kg-topology-CloudEOSEdge1 | tests/environment/test_environment.py::EnvironmentTests::test_if_system_environment_temp_are_in_spec_on_[kg-topology-CloudEOSEdge1]::setup | Verify system temperature environmentals are functional within spec | 0.00 |
|
[gw3] linux -- Python 3.8.5 /usr/local/bin/python3 ('/project/vane/bin/tests/environment/test_environment.py', 51, 'Skipped: CloudEOS doesnt have temp sensors') | ||||
| Skipped | kg-topology-CloudEOSEdge1 | tests/environment/test_environment.py::EnvironmentTests::test_if_system_environment_power_are_in_spec_on_[kg-topology-CloudEOSEdge1]::setup | Verify system power environmentals are functional within spec | 0.00 |
|
[gw3] linux -- Python 3.8.5 /usr/local/bin/python3 ('/project/vane/bin/tests/environment/test_environment.py', 110, 'Skipped: CloudEOS doesnt have power supplies') | ||||
| Skipped | kg-topology-CloudEOSEdge1 | tests/environment/test_environment.py::EnvironmentTests::test_if_system_environment_cooling_is_in_spec_on_[kg-topology-CloudEOSEdge1]::setup | Verify system cooling environmentals are functional within spec | 0.00 |
|
[gw3] linux -- Python 3.8.5 /usr/local/bin/python3 ('/project/vane/bin/tests/environment/test_environment.py', 154, 'Skipped: CloudEOS doesnt have cooling') | ||||
| Skipped | kg-topology-CloudEOSEdge2 | tests/aaa/test_aaa.py::AAATests::test_if_authentication_counters_are_incrementing_on_[kg-topology-CloudEOSEdge2]::setup | Verify AAA counters are working correctly | 0.00 |
|
[gw3] linux -- Python 3.8.5 /usr/local/bin/python3 ('/project/vane/bin/tests/aaa/test_aaa.py', 51, 'Skipped: No AAA setup on DUTs') | ||||
| Skipped | kg-topology-CloudEOSEdge2 | tests/environment/test_environment.py::EnvironmentTests::test_if_system_environment_temp_are_in_spec_on_[kg-topology-CloudEOSEdge2]::setup | Verify system temperature environmentals are functional within spec | 0.00 |
|
[gw2] linux -- Python 3.8.5 /usr/local/bin/python3 ('/project/vane/bin/tests/environment/test_environment.py', 51, 'Skipped: CloudEOS doesnt have temp sensors') | ||||
| Skipped | kg-topology-CloudEOSEdge2 | tests/environment/test_environment.py::EnvironmentTests::test_if_system_environment_power_are_in_spec_on_[kg-topology-CloudEOSEdge2]::setup | Verify system power environmentals are functional within spec | 0.00 |
|
[gw1] linux -- Python 3.8.5 /usr/local/bin/python3 ('/project/vane/bin/tests/environment/test_environment.py', 110, 'Skipped: CloudEOS doesnt have power supplies') | ||||
| Skipped | kg-topology-CloudEOSEdge2 | tests/environment/test_environment.py::EnvironmentTests::test_if_system_environment_cooling_is_in_spec_on_[kg-topology-CloudEOSEdge2]::setup | Verify system cooling environmentals are functional within spec | 0.00 |
|
[gw3] linux -- Python 3.8.5 /usr/local/bin/python3 ('/project/vane/bin/tests/environment/test_environment.py', 154, 'Skipped: CloudEOS doesnt have cooling') | ||||
| Passed | NONE | tests/test_pytest.py::PyTestTests::test_assert_true | Prior to running any tests this test Validates that PyTest is working correct by verifying PyTest can assert True. | 0.00 |
|
-------------------------------Captured log call-------------------------------- INFO root:test_pytest.py:48 Prior to running any tests this test Validates thatPyTest is working correct by verifying PyTest can assert True. | ||||
| Passed | kg-topology-CloudEosRR1 | tests/aaa/test_aaa.py::AAATests::test_if_default_login_authentication_methods_set_on_[kg-topology-CloudEosRR1] | Verify AAA default login authentication are method-lists set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| AAA authentication methods for default login: |['local']| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_default_login_authentication_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEosRR1 INFO root:test_aaa.py:270 TEST is default login authentication methods list set correct on |kg-topology-CloudEosRR1| INFO root:test_aaa.py:272 GIVEN login authentication method list: |['local']| INFO root:test_aaa.py:276 WHEN EOS login authentication method list is set to |['local']| INFO root:test_aaa.py:280 THEN test case result is |True| INFO root:test_aaa.py:281 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEosRR1 | tests/aaa/test_aaa.py::AAATests::test_if_exec_authorization_methods_set_on_[kg-topology-CloudEosRR1] | Verify AAA exec authorization are method-lists set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| AAA authorization methods for exec: |['none']| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_exec_authorization_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEosRR1 INFO root:test_aaa.py:227 TEST is exec authorization methods list set correct on |kg-topology-CloudEosRR1| INFO root:test_aaa.py:229 GIVEN exec authorization method list: |['none']| INFO root:test_aaa.py:233 WHEN EOS exec authorization method list is set to |['none']| INFO root:test_aaa.py:237 THEN test case result is |True| INFO root:test_aaa.py:238 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEosRR1 | tests/aaa/test_aaa.py::AAATests::test_if_commands_authorization_methods_set_on_[kg-topology-CloudEosRR1] | Verify AAA command authorization are method-lists set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| AAA authorization methods for fcommands: |['none']| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_commands_authorization_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEosRR1 INFO root:test_aaa.py:184 TEST is command authorization methods list set correct on |kg-topology-CloudEosRR1| INFO root:test_aaa.py:186 GIVEN command authorization method list: |['none']| INFO root:test_aaa.py:190 WHEN EOS command authorization method list is set to |['none']| INFO root:test_aaa.py:194 THEN test case result is |True| INFO root:test_aaa.py:195 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEosRR1 | tests/aaa/test_aaa.py::AAATests::test_if_aaa_session_logging_is_working_on_[kg-topology-CloudEosRR1] | Verify AAA session logging is working by identifying eapi connection | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| identified eAPi AAA session: |commandApi| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_aaa_session_logging_is_working_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show users detail| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show users detail| on kg-topology-CloudEosRR1 INFO root:test_aaa.py:130 TEST is |kg-topology-CloudEosRR1| AAA session logging is working by identifying eapi connection INFO root:test_aaa.py:138 GIVEN commandApi is nonInteractive sessions INFO root:test_aaa.py:139 WHEN commandApi is nonInteractive sessions INFO root:test_aaa.py:154 THEN test case result is |True| INFO root:test_aaa.py:155 OUTPUT of |show users detail| is : Session Username Roles TTY State Duration Auth Remote Host -------- --------- ------- ------------- ------- ---------- ------- ----------- 82142 kgrozis command-api E 0:00:13 local | ||||
| Passed | kg-topology-CloudEosRR1 | tests/aaa/test_aaa.py::AAATests::test_if_system_accounting_methods_set_on_[kg-topology-CloudEosRR1] | Verify AAA system accounting method-lists are set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| AAA accounting methods for default: |[]| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_system_accounting_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:test_aaa.py:448 TEST is system accounting methods list set correct on |kg-topology-CloudEosRR1| INFO root:test_aaa.py:450 GIVEN default system accounting method list: |[]| and console system accounting methodlist: |[]| INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEosRR1 INFO root:test_aaa.py:466 WHEN default system accounting method list: |[]| and console system accounting method list: |[]| INFO root:test_aaa.py:471 THEN test case result is |True| INFO root:test_aaa.py:472 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEosRR1 | tests/aaa/test_aaa.py::AAATests::test_if_enable_authentication_methods_set_on_[kg-topology-CloudEosRR1] | Verify AAA enable authentication method-lists are set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| AAA authentication methods for enable default: |['local']| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_enable_authentication_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True} INFO root:test_aaa.py:403 TEST is enable authentication methods list set correct on |kg-topology-CloudEosRR1| INFO root:test_aaa.py:405 GIVEN enable authentication method list: |['local']| INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEosRR1 INFO root:test_aaa.py:417 WHEN EOS enable authentication method list is set to |['local']| INFO root:test_aaa.py:421 THEN test case result is |True| INFO root:test_aaa.py:422 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEosRR1 | tests/aaa/test_aaa.py::AAATests::test_if_dot1x_authentication_methods_set_on_[kg-topology-CloudEosRR1] | Verify AAA dot1x authentication are method-lists set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| AAA authentication methods for dot1x default: |[]| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_dot1x_authentication_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEosRR1 INFO root:test_aaa.py:364 TEST is dot1x authentication methods list set correct on |kg-topology-CloudEosRR1| INFO root:test_aaa.py:366 GIVEN dot1x authentication method list: |[]| INFO root:test_aaa.py:370 WHEN EOS dot1x authentication method list is set to |[]| INFO root:test_aaa.py:374 THEN test case result is |True| INFO root:test_aaa.py:375 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEosRR1 | tests/aaa/test_aaa.py::AAATests::test_if_login_authentication_methods_set_on_[kg-topology-CloudEosRR1] | Verify AAA login authentication are method-lists set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_login_authentication_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEosRR1 INFO root:test_aaa.py:313 TEST is login authentication methods list set correct on |kg-topology-CloudEosRR1| INFO root:test_aaa.py:315 GIVEN login authentication method list: |None| INFO root:test_aaa.py:332 WHEN EOS login authentication method list is set to |None| INFO root:test_aaa.py:334 THEN test case result is |True| INFO root:test_aaa.py:335 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEosRR1 | tests/api/test_api.py::APITests::test_if_management_https_api_server_is_running_on_[kg-topology-CloudEosRR1] | Verify management api https server is running | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| HTTPS Server is running state: |True| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_api.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_management_https_api_server_is_running_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True} INFO root:test_api.py:69 TEST is HTTPS API running on |kg-topology-CloudEosRR1| INFO root:test_api.py:70 GIVEN HTTPS API state is |True| INFO root:tests_tools.py:356 Verify if show command |show management api http-commands| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show management api http-commands| on kg-topology-CloudEosRR1 INFO root:test_api.py:80 WHEN HTTPS API state is |True| INFO root:test_api.py:83 THEN test case result is |True| INFO root:test_api.py:84 OUTPUT of |show management api http-commands| is : Enabled: Yes HTTPS server: running, set to use port 443 HTTP server: shutdown, set to use port 80 Local HTTP server: shutdown, no authentication, set to use port 8080 Unix Socket server: shutdown, no authentication VRFs: default Hits: 80151 Last hit: 0 seconds ago Bytes in: 12163907 Bytes out: 194465833 Requests: 75248 Commands: 150496 Duration: 7848.120 seconds SSL Profile: none FIPS Mode: No QoS DSCP: 0 Log Level: none CSP Frame Ancestor: None TLS Protocols: 1.0 1.1 1.2 User Requests Bytes in Bytes out Last hit ------------- -------------- -------------- --------------- ------------- kgrozis 75248 12163907 194465833 0 seconds ago URLs --------------------------------------- Ethernet1 : https://11.201.12.101:443 Ethernet100 : https://11.201.8.1:443 Loopback0 : https://11.201.0.2:443 Loopback10 : https://198.18.0.36:443 | ||||
| Passed | kg-topology-CloudEosRR1 | tests/aaa/test_aaa.py::AAATests::test_if_dot1x_accounting_methods_set_on_[kg-topology-CloudEosRR1] | Verify AAA dot1x accounting method-lists are set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| AAA accounting exec methods for dot1x: |[]| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_dot1x_accounting_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:test_aaa.py:594 TEST is dot1x accounting methods list set correct on |kg-topology-CloudEosRR1| INFO root:test_aaa.py:596 GIVEN dot1x system accounting method list: |[]| and dot1x system accounting methodlist: |[]| INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEosRR1 INFO root:test_aaa.py:611 WHEN default dot1x accounting method list: |[]| and console dot1x accounting method list: |[]| INFO root:test_aaa.py:616 THEN test case result is |True| INFO root:test_aaa.py:617 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEosRR1 | tests/aaa/test_aaa.py::AAATests::test_if_exec_accounting_methods_set_on_[kg-topology-CloudEosRR1] | Verify AAA exec accounting method-lists are set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| AAA accounting exec methods for console: |[]| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_exec_accounting_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:test_aaa.py:496 TEST is exec accounting methods list set correct on |kg-topology-CloudEosRR1| INFO root:test_aaa.py:498 GIVEN exec system accounting method list: |[]| and exec system accounting methodlist: |[]| INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEosRR1 INFO root:test_aaa.py:514 WHEN default exec accounting method list: |[]| and console exec accounting methodlist: |[]| INFO root:test_aaa.py:519 THEN test case result is |True| INFO root:test_aaa.py:520 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEosRR1 | tests/aaa/test_aaa.py::AAATests::test_if_priviledge_accounting_methods_set_on_[kg-topology-CloudEosRR1] | Verify AAA priviledge accounting method-lists are set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| AAA accounting exec methods for console: |[]| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_priviledge_accounting_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:test_aaa.py:546 TEST is priviledge accounting methods list set correct on |kg-topology-CloudEosRR1| INFO root:test_aaa.py:548 GIVEN priviledge system accounting method list: |[]| and priviledge system accounting method list: |[]| INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEosRR1 INFO root:test_aaa.py:564 WHEN default privilege accounting method list: |[]| and console privilege accounting method list: |[]| INFO root:test_aaa.py:569 THEN test case result is |True| INFO root:test_aaa.py:570 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEosRR1 | tests/api/test_api.py::APITests::test_if_management_local_http_api_server_is_running_on_[kg-topology-CloudEosRR1] | Verify management api local httpserver is not running | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| Local HTTP Server is running state: |False| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_api.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_management_local_http_api_server_is_running_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True} INFO root:test_api.py:215 TEST is local HTTP API running on |kg-topology-CloudEosRR1| INFO root:test_api.py:216 GIVEN local HTTP API state is |False| INFO root:tests_tools.py:356 Verify if show command |show management api http-commands| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show management api http-commands| on kg-topology-CloudEosRR1 INFO root:test_api.py:226 WHEN HTTP API state is |False| INFO root:test_api.py:229 THEN test case result is |True| INFO root:test_api.py:230 OUTPUT of |show management api http-commands| is : Enabled: Yes HTTPS server: running, set to use port 443 HTTP server: shutdown, set to use port 80 Local HTTP server: shutdown, no authentication, set to use port 8080 Unix Socket server: shutdown, no authentication VRFs: default Hits: 80151 Last hit: 0 seconds ago Bytes in: 12163907 Bytes out: 194465833 Requests: 75248 Commands: 150496 Duration: 7848.120 seconds SSL Profile: none FIPS Mode: No QoS DSCP: 0 Log Level: none CSP Frame Ancestor: None TLS Protocols: 1.0 1.1 1.2 User Requests Bytes in Bytes out Last hit ------------- -------------- -------------- --------------- ------------- kgrozis 75248 12163907 194465833 0 seconds ago URLs --------------------------------------- Ethernet1 : https://11.201.12.101:443 Ethernet100 : https://11.201.8.1:443 Loopback0 : https://11.201.0.2:443 Loopback10 : https://198.18.0.36:443 | ||||
| Passed | kg-topology-CloudEosRR1 | tests/api/test_api.py::APITests::test_if_management_https_api_server_port_is_correct_on_[kg-topology-CloudEosRR1] | Verify https server is enabled on port 443 | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| HTTPS Server is running on port: |443| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_api.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_management_https_api_server_port_is_correct_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True} INFO root:test_api.py:106 TEST is HTTPS API port on |kg-topology-CloudEosRR1| INFO root:test_api.py:107 GIVEN HTTPS API port is |443| INFO root:tests_tools.py:356 Verify if show command |show management api http-commands| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show management api http-commands| on kg-topology-CloudEosRR1 INFO root:test_api.py:116 WHEN HTTPS API port is |443| INFO root:test_api.py:119 THEN test case result is |True| INFO root:test_api.py:120 OUTPUT of |show management api http-commands| is : Enabled: Yes HTTPS server: running, set to use port 443 HTTP server: shutdown, set to use port 80 Local HTTP server: shutdown, no authentication, set to use port 8080 Unix Socket server: shutdown, no authentication VRFs: default Hits: 80142 Last hit: 0 seconds ago Bytes in: 12162532 Bytes out: 194450426 Requests: 75240 Commands: 150480 Duration: 7847.737 seconds SSL Profile: none FIPS Mode: No QoS DSCP: 0 Log Level: none CSP Frame Ancestor: None TLS Protocols: 1.0 1.1 1.2 User Requests Bytes in Bytes out Last hit ------------- -------------- -------------- --------------- ------------- kgrozis 75240 12162532 194450426 0 seconds ago URLs --------------------------------------- Ethernet1 : https://11.201.12.101:443 Ethernet100 : https://11.201.8.1:443 Loopback0 : https://11.201.0.2:443 Loopback10 : https://198.18.0.36:443 | ||||
| Passed | kg-topology-CloudEosRR1 | tests/api/test_api.py::APITests::test_if_management_http_api_server_is_running_on_[kg-topology-CloudEosRR1] | Verify management api http server is not running | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |{dut_name}| HTTP Server is running state: |False| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_api.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_management_http_api_server_is_running_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True} INFO root:test_api.py:178 TEST is HTTP API running on |kg-topology-CloudEosRR1| INFO root:test_api.py:179 GIVEN HTTP API state is |False| INFO root:tests_tools.py:356 Verify if show command |show management api http-commands| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show management api http-commands| on kg-topology-CloudEosRR1 INFO root:test_api.py:189 WHEN HTTP API state is |False| INFO root:test_api.py:192 THEN test case result is |True| INFO root:test_api.py:193 OUTPUT of |show management api http-commands| is : Enabled: Yes HTTPS server: running, set to use port 443 HTTP server: shutdown, set to use port 80 Local HTTP server: shutdown, no authentication, set to use port 8080 Unix Socket server: shutdown, no authentication VRFs: default Hits: 80129 Last hit: 0 seconds ago Bytes in: 12160435 Bytes out: 194444972 Requests: 75227 Commands: 150454 Duration: 7847.503 seconds SSL Profile: none FIPS Mode: No QoS DSCP: 0 Log Level: none CSP Frame Ancestor: None TLS Protocols: 1.0 1.1 1.2 User Requests Bytes in Bytes out Last hit ------------- -------------- -------------- --------------- ------------- kgrozis 75227 12160435 194444972 0 seconds ago URLs --------------------------------------- Ethernet1 : https://11.201.12.101:443 Ethernet100 : https://11.201.8.1:443 Loopback0 : https://11.201.0.2:443 Loopback10 : https://198.18.0.36:443 | ||||
| Passed | kg-topology-CloudEosRR1 | tests/api/test_api.py::APITests::test_if_management_https_api_server_is_enabled_on_[kg-topology-CloudEosRR1] | Verify management api https server is enabled | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |{dut_name}| API is enabled state: |True| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_api.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_management_https_api_server_is_enabled_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True} INFO root:test_api.py:142 TEST is HTTPS API enabled on |kg-topology-CloudEosRR1| INFO root:test_api.py:143 GIVEN HTTPS API enabled is |True| INFO root:tests_tools.py:356 Verify if show command |show management api http-commands| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show management api http-commands| on kg-topology-CloudEosRR1 INFO root:test_api.py:152 WHEN HTTPS API enabled is |True| INFO root:test_api.py:155 THEN test case result is |True| INFO root:test_api.py:156 OUTPUT of |show management api http-commands| is : Enabled: Yes HTTPS server: running, set to use port 443 HTTP server: shutdown, set to use port 80 Local HTTP server: shutdown, no authentication, set to use port 8080 Unix Socket server: shutdown, no authentication VRFs: default Hits: 80145 Last hit: 0 seconds ago Bytes in: 12163004 Bytes out: 194452227 Requests: 75242 Commands: 150484 Duration: 7847.840 seconds SSL Profile: none FIPS Mode: No QoS DSCP: 0 Log Level: none CSP Frame Ancestor: None TLS Protocols: 1.0 1.1 1.2 User Requests Bytes in Bytes out Last hit ------------- -------------- -------------- --------------- ------------- kgrozis 75242 12163004 194452227 0 seconds ago URLs --------------------------------------- Ethernet1 : https://11.201.12.101:443 Ethernet100 : https://11.201.8.1:443 Loopback0 : https://11.201.0.2:443 Loopback10 : https://198.18.0.36:443 | ||||
| Passed | kg-topology-CloudEosRR1 | tests/cpu/test_cpu.py::CPUTests::test_1_sec_cpu_utlization_on_[kg-topology-CloudEosRR1] | Verify 1 second CPU % is under specificied value | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| 1 second CPU load average is |2.12%| and should be under |10%| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_cpu.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_1_sec_cpu_utlization_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show processes| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show processes| on kg-topology-CloudEosRR1 INFO root:test_cpu.py:70 TEST if 1 second CPU utilization is less than specified value on |kg-topology-CloudEosRR1| INFO root:test_cpu.py:72 GIVEN CPU utilization is less than |10| INFO root:test_cpu.py:76 WHEN CPU utilization is |2.12| INFO root:test_cpu.py:79 THEN test case result is |True| INFO root:test_cpu.py:80 OUTPUT of |show processes| is : 16:32:51 up 27 days, 15:15, 0 users, load average: 2.12, 1.81, 1.49 PID %CPU %MEM TT STAT STARTED TIME CMD 2051 101 3.4 ? Sl Aug 13 28-00:35:43 Sfe 1720 2.4 1.8 ? Sl Aug 13 15:58:37 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.12.101 -taillogs -grpcaddr=0.0.0.0:6042 23850 1.0 0.0 ? Rs 16:32:50 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww 12509 0.5 0.7 ? SNl Aug 31 01:15:14 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config 23586 0.5 0.1 ? Ss 16:32:42 00:00:00 sshd: root [priv] 1571 0.3 7.1 ? Sl Aug 13 02:05:49 ConfigAgent 1296 0.2 0.9 ? S Aug 13 01:32:30 ProcMgr-worker 1529 0.2 2.6 ? S Aug 13 01:36:43 Sysdb 1735 0.1 1.7 ? S Aug 13 00:49:00 SuperServer 1759 0.1 1.0 ? S Aug 13 01:17:06 AgentMonitor 1992 0.1 1.6 ? S Aug 13 00:46:16 IpRib 1 0.0 0.0 ? Ss Aug 13 00:06:04 /sbin/init 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd] 3 0.0 0.0 ? S Aug 13 00:00:12 [ksoftirqd/0] 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H] 7 0.0 0.0 ? S Aug 13 00:00:17 [rcu_preempt] 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched] 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh] 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0] 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain] 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0] 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0] 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1] 15 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/1] 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1] 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1] 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0] 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H] 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2] 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2] 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2] 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2] 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0] 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H] 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3] 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3] 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3] 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3] 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0] 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H] 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs] 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns] 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd] 35 0.0 0.0 ? S Aug 13 00:00:14 [khungtaskd2] 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper] 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback] 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0] 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto] 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd] 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd] 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff] 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller] 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task] 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd] 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd] 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl] 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod] 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod] 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0] 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat] 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod] 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd] 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme] 73 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:1] 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd] 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf] 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq] 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-] 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver] 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H] 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0] 387 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd 414 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f 497 0.0 0.0 ? S< Aug 13 00:00:00 [ena] 705 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1] 734 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground 738 0.0 0.0 ? Ss Aug 13 00:02:52 /usr/lib/systemd/systemd-logind 740 0.0 0.1 ? Ss Aug 13 00:04:31 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 752 0.0 0.0 ? Ss Aug 13 00:00:52 /usr/bin/ProcMonitor 796 0.0 0.0 ? Ss Aug 13 00:00:05 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid 811 0.0 0.0 ? S<s Aug 13 00:00:21 /usr/bin/wdogdev -t 60 820 0.0 0.0 ? Ss Aug 13 00:00:16 /usr/sbin/crond -n 867 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:3] 976 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local 977 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1007 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys 1008 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1025 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure 1026 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil 1029 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1054 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon 1169 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1170 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1204 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm 1267 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1269 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1295 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master 1468 0.0 0.0 ? S Aug 13 00:09:19 /usr/bin/EosOomAdjust 1476 0.0 0.0 ? S Aug 13 00:00:01 [rbfd_vrf_cleanu] 1491 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid 1528 0.0 0.0 ? S Aug 13 00:02:07 /usr/bin/SlabMonitor 1570 0.0 1.2 ? S Aug 13 00:04:49 StageMgr 1575 0.0 1.4 ? S Aug 13 00:11:32 Fru 1576 0.0 1.8 ? S Aug 13 00:04:48 Launcher 1696 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=283510534772,283510025210,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp 1697 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1698 0.0 1.2 ? S Aug 13 00:17:41 Lldp 1703 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=283625389593,283557152987,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon 1704 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1706 0.0 1.2 ? S Aug 13 00:12:09 McastCommon 1708 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=283790275633,283680080063,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec 1709 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H] 1712 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1713 0.0 1.2 ? S Aug 13 00:13:21 PortSec 1727 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=284244580020,284069179516,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd 1728 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1729 0.0 1.4 ? S Aug 13 00:13:15 Bfd 1732 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=288276526737,288091282802,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag 1733 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1734 0.0 1.3 ? S Aug 13 00:28:58 Lag 1739 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=292170530223,292160868939,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira 1740 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1741 0.0 1.5 ? S Aug 13 00:12:19 Ira 1742 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=296430530784,292790029349,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy 1743 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1744 0.0 1.2 ? S Aug 13 00:15:06 LedPolicy 1746 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=296679631718,296505735315,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr 1747 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1748 0.0 1.3 ? S Aug 13 00:17:20 EventMgr 1749 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=296966020071,296758072413,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx 1750 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1751 0.0 1.2 ? S Aug 13 00:37:31 StpTxRx 1754 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=297230697565,297031996334,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld 1755 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1756 0.0 1.1 ? S Aug 13 00:04:51 StandbyCpld 1757 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=300703577697,297318029615,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor 1758 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1761 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=300917240606,300815189647,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel 1762 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1763 0.0 1.2 ? S Aug 13 00:07:39 Tunnel 1764 0.0 1.5 ? Sl Aug 13 00:12:38 Aaa 1766 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=301455121817,301267954454,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology 1767 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1768 0.0 1.2 ? S Aug 13 00:12:13 StpTopology 1773 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=305296588459,301639833561,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl 1777 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1778 0.0 1.4 ? S Aug 13 00:27:21 Acl 1790 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=305473916024,305413789947,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp 1793 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1794 0.0 1.1 ? S Aug 13 00:22:54 Stp 1811 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=309631584027,309381913189,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo 1813 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1816 0.0 1.1 ? S Aug 13 00:05:42 KernelNetworkInfo 1819 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=309865727193,309723632318,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6 1820 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1822 0.0 1.2 ? S Aug 13 00:12:08 McastCommon6 1830 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=313593113413,309953840906,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent 1834 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1837 0.0 1.2 ? S Aug 13 00:12:19 LacpTxAgent 1850 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=314118913201,313693882645,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp 1852 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1854 0.0 1.5 ? S Aug 13 00:18:58 Arp 1872 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=314295268017,314276868472,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib 1873 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1875 0.0 1.4 ? S Aug 13 00:12:15 KernelFib 1882 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=318150424387,318144860272,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos 1883 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1884 0.0 1.2 ? S Aug 13 00:14:00 Qos 1887 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=318469770561,318468274840,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat 1888 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1889 0.0 1.1 ? S Aug 13 00:05:41 Thermostat 1892 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=322522479134,322385632691,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib 1896 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1898 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=326605383165,326604902657,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled 1899 0.0 1.2 ? S Aug 13 00:05:40 L2Rib 1900 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1901 0.0 1.2 ? S Aug 13 00:11:44 TopoAgent 1903 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=326894071252,326715955598,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse 1905 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1909 0.0 1.1 ? S Aug 13 00:04:50 PowerFuse 1914 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=327071699135,326953747273,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager 1918 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1922 0.0 1.1 ? S Aug 13 00:04:50 PowerManager 1929 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=327151350040,327147282764,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra 1935 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1939 0.0 1.4 ? S Aug 13 00:16:58 Ebra 1947 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=331154170429,330747269552,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent 1948 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1951 0.0 1.1 ? S Aug 13 00:04:52 ReloadCauseAgent 1957 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=331232223925,331231692014,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile 1961 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1964 0.0 1.1 ? S Aug 13 00:04:52 SharedSecretProfile 1967 0.0 1.5 ? S Aug 13 00:12:20 IgmpSnooping 1984 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=335195923420,335185191889,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled 1985 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1986 0.0 1.3 ? S Aug 13 00:05:43 StaticRoute 1990 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=335500217122,335274316065,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled 1991 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2009 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=335591889667,335586171622,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled 2012 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2015 0.0 1.9 ? S Aug 13 00:05:48 BgpCliHelper 2025 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=339572209152,339402675873,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute 2027 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2028 0.0 1.3 ? S Aug 13 00:12:22 ConnectedRoute 2030 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=340013863328,339680435197,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput 2031 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2032 0.0 1.3 ? S Aug 13 00:05:44 RouteInput 2033 0.0 2.3 ? Sl Aug 13 00:27:16 Bgp 2040 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=344444576369,344061658149,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe 2045 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2303 0.0 0.0 ? Ssl Aug 13 00:00:28 /usr/sbin/rsyslogd -n 2369 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq 2630 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=395217769752,395217285612,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager 2631 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2632 0.0 1.1 ? S Aug 13 00:04:52 LicenseManager 2635 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd 2636 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0 2637 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux 2645 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2635 /var/log/eos-console | sed 's/\(.*\)/\1\r/' 2648 0.0 0.0 ? S Aug 13 00:00:55 /usr/bin/tail -n 0 --retry --follow=name --pid=2635 /var/log/eos-console 2649 0.0 0.0 ? S Aug 13 00:00:00 sed s/\(.*\)/\1\r/ 2691 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct> 2718 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=417010822932,417010338793,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec 2720 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2721 0.0 1.2 ? S Aug 13 00:35:10 Ipsec 2723 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1 2750 0.0 0.1 ? Ssl Aug 13 00:01:23 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid 2753 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc 3323 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon 3325 0.0 0.1 ? Ssl Aug 13 00:02:06 /usr/libexec/strongswan/charon --use-syslog 12495 0.0 0.0 ? S Aug 31 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh 13396 0.0 0.0 ? S 16:07:00 00:00:00 [kworker/0:0] 16265 0.0 0.0 ? S 16:19:01 00:00:00 [kworker/0:2] 18653 0.0 0.0 ? S Aug 14 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=665436806498288,665436806007998,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini 18654 0.0 0.3 ? Ss Aug 14 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 18655 0.0 1.3 ? Sl Aug 14 00:06:15 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 18699 0.0 0.0 ? Ss Aug 14 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid; 18701 0.0 0.1 ? S Aug 14 00:01:47 nginx: worker process 18917 0.0 0.0 ? S 16:25:00 00:00:00 [kworker/0:1] 22344 0.0 0.0 ? S 16:31:01 00:00:00 [kworker/0:3] 22359 0.0 0.0 ? S 16:31:01 00:00:00 [kworker/0:4] 23589 0.0 0.0 ? S 16:32:42 00:00:00 sshd: root [net] 23851 0.0 0.0 ? S 16:32:50 00:00:00 sshd: root [pam] | ||||
| Passed | kg-topology-CloudEosRR1 | tests/cpu/test_cpu.py::CPUTests::test_5_min_cpu_utlization_on_[kg-topology-CloudEosRR1] | Verify 5 minute CPU % is under specificied value | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| 5 minute CPU load average is |1.49%| and should be under |10%| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_cpu.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_5_min_cpu_utlization_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show processes| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show processes| on kg-topology-CloudEosRR1 INFO root:test_cpu.py:140 TEST if 5 minute CPU utilization is less than specified value on |kg-topology-CloudEosRR1| INFO root:test_cpu.py:142 GIVEN CPU utilization is less than |10| INFO root:test_cpu.py:146 WHEN CPU utilization is |1.49| INFO root:test_cpu.py:149 THEN test case result is |True| INFO root:test_cpu.py:150 OUTPUT of |show processes| is : 16:32:52 up 27 days, 15:15, 0 users, load average: 2.12, 1.81, 1.49 PID %CPU %MEM TT STAT STARTED TIME CMD 2051 101 3.4 ? Sl Aug 13 28-00:35:44 Sfe 1720 2.4 1.8 ? Sl Aug 13 15:58:37 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.12.101 -taillogs -grpcaddr=0.0.0.0:6042 12509 0.5 0.7 ? SNl Aug 31 01:15:14 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config 23586 0.5 0.1 ? Ss 16:32:42 00:00:00 sshd: root [priv] 1571 0.3 7.1 ? Sl Aug 13 02:05:49 ConfigAgent 1296 0.2 0.9 ? S Aug 13 01:32:30 ProcMgr-worker 1529 0.2 2.6 ? S Aug 13 01:36:43 Sysdb 1735 0.1 1.7 ? S Aug 13 00:49:00 SuperServer 1759 0.1 1.0 ? S Aug 13 01:17:06 AgentMonitor 1992 0.1 1.6 ? S Aug 13 00:46:16 IpRib 1 0.0 0.0 ? Ss Aug 13 00:06:04 /sbin/init 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd] 3 0.0 0.0 ? S Aug 13 00:00:12 [ksoftirqd/0] 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H] 7 0.0 0.0 ? S Aug 13 00:00:17 [rcu_preempt] 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched] 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh] 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0] 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain] 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0] 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0] 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1] 15 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/1] 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1] 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1] 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0] 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H] 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2] 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2] 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2] 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2] 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0] 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H] 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3] 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3] 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3] 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3] 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0] 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H] 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs] 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns] 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd] 35 0.0 0.0 ? S Aug 13 00:00:14 [khungtaskd2] 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper] 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback] 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0] 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto] 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd] 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd] 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff] 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller] 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task] 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd] 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd] 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl] 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod] 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod] 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0] 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat] 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod] 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd] 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme] 73 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:1] 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd] 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf] 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq] 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-] 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver] 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H] 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0] 387 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd 414 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f 497 0.0 0.0 ? S< Aug 13 00:00:00 [ena] 705 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1] 734 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground 738 0.0 0.0 ? Ss Aug 13 00:02:52 /usr/lib/systemd/systemd-logind 740 0.0 0.1 ? Ss Aug 13 00:04:31 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 752 0.0 0.0 ? Ss Aug 13 00:00:52 /usr/bin/ProcMonitor 796 0.0 0.0 ? Ss Aug 13 00:00:05 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid 811 0.0 0.0 ? S<s Aug 13 00:00:21 /usr/bin/wdogdev -t 60 820 0.0 0.0 ? Ss Aug 13 00:00:16 /usr/sbin/crond -n 867 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:3] 976 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local 977 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1007 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys 1008 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1025 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure 1026 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil 1029 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1054 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon 1169 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1170 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1204 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm 1267 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1269 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1295 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master 1468 0.0 0.0 ? S Aug 13 00:09:19 /usr/bin/EosOomAdjust 1476 0.0 0.0 ? S Aug 13 00:00:01 [rbfd_vrf_cleanu] 1491 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid 1528 0.0 0.0 ? S Aug 13 00:02:07 /usr/bin/SlabMonitor 1570 0.0 1.2 ? S Aug 13 00:04:49 StageMgr 1575 0.0 1.4 ? S Aug 13 00:11:32 Fru 1576 0.0 1.8 ? S Aug 13 00:04:48 Launcher 1696 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=283510534772,283510025210,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp 1697 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1698 0.0 1.2 ? S Aug 13 00:17:41 Lldp 1703 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=283625389593,283557152987,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon 1704 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1706 0.0 1.2 ? S Aug 13 00:12:09 McastCommon 1708 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=283790275633,283680080063,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec 1709 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H] 1712 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1713 0.0 1.2 ? S Aug 13 00:13:21 PortSec 1727 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=284244580020,284069179516,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd 1728 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1729 0.0 1.4 ? S Aug 13 00:13:15 Bfd 1732 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=288276526737,288091282802,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag 1733 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1734 0.0 1.3 ? S Aug 13 00:28:58 Lag 1739 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=292170530223,292160868939,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira 1740 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1741 0.0 1.5 ? S Aug 13 00:12:19 Ira 1742 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=296430530784,292790029349,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy 1743 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1744 0.0 1.2 ? S Aug 13 00:15:06 LedPolicy 1746 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=296679631718,296505735315,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr 1747 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1748 0.0 1.3 ? S Aug 13 00:17:20 EventMgr 1749 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=296966020071,296758072413,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx 1750 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1751 0.0 1.2 ? S Aug 13 00:37:31 StpTxRx 1754 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=297230697565,297031996334,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld 1755 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1756 0.0 1.1 ? S Aug 13 00:04:51 StandbyCpld 1757 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=300703577697,297318029615,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor 1758 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1761 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=300917240606,300815189647,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel 1762 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1763 0.0 1.2 ? S Aug 13 00:07:39 Tunnel 1764 0.0 1.5 ? Sl Aug 13 00:12:38 Aaa 1766 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=301455121817,301267954454,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology 1767 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1768 0.0 1.2 ? S Aug 13 00:12:13 StpTopology 1773 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=305296588459,301639833561,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl 1777 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1778 0.0 1.4 ? S Aug 13 00:27:21 Acl 1790 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=305473916024,305413789947,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp 1793 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1794 0.0 1.1 ? S Aug 13 00:22:54 Stp 1811 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=309631584027,309381913189,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo 1813 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1816 0.0 1.1 ? S Aug 13 00:05:42 KernelNetworkInfo 1819 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=309865727193,309723632318,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6 1820 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1822 0.0 1.2 ? S Aug 13 00:12:08 McastCommon6 1830 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=313593113413,309953840906,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent 1834 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1837 0.0 1.2 ? S Aug 13 00:12:19 LacpTxAgent 1850 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=314118913201,313693882645,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp 1852 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1854 0.0 1.5 ? S Aug 13 00:18:58 Arp 1872 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=314295268017,314276868472,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib 1873 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1875 0.0 1.4 ? S Aug 13 00:12:15 KernelFib 1882 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=318150424387,318144860272,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos 1883 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1884 0.0 1.2 ? S Aug 13 00:14:00 Qos 1887 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=318469770561,318468274840,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat 1888 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1889 0.0 1.1 ? S Aug 13 00:05:41 Thermostat 1892 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=322522479134,322385632691,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib 1896 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1898 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=326605383165,326604902657,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled 1899 0.0 1.2 ? S Aug 13 00:05:40 L2Rib 1900 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1901 0.0 1.2 ? S Aug 13 00:11:44 TopoAgent 1903 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=326894071252,326715955598,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse 1905 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1909 0.0 1.1 ? S Aug 13 00:04:50 PowerFuse 1914 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=327071699135,326953747273,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager 1918 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1922 0.0 1.1 ? S Aug 13 00:04:50 PowerManager 1929 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=327151350040,327147282764,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra 1935 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1939 0.0 1.4 ? S Aug 13 00:16:58 Ebra 1947 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=331154170429,330747269552,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent 1948 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1951 0.0 1.1 ? S Aug 13 00:04:52 ReloadCauseAgent 1957 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=331232223925,331231692014,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile 1961 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1964 0.0 1.1 ? S Aug 13 00:04:52 SharedSecretProfile 1967 0.0 1.5 ? S Aug 13 00:12:20 IgmpSnooping 1984 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=335195923420,335185191889,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled 1985 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1986 0.0 1.3 ? S Aug 13 00:05:43 StaticRoute 1990 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=335500217122,335274316065,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled 1991 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2009 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=335591889667,335586171622,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled 2012 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2015 0.0 1.9 ? S Aug 13 00:05:48 BgpCliHelper 2025 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=339572209152,339402675873,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute 2027 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2028 0.0 1.3 ? S Aug 13 00:12:22 ConnectedRoute 2030 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=340013863328,339680435197,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput 2031 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2032 0.0 1.3 ? S Aug 13 00:05:44 RouteInput 2033 0.0 2.3 ? Sl Aug 13 00:27:16 Bgp 2040 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=344444576369,344061658149,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe 2045 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2303 0.0 0.0 ? Ssl Aug 13 00:00:28 /usr/sbin/rsyslogd -n 2369 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq 2630 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=395217769752,395217285612,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager 2631 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2632 0.0 1.1 ? S Aug 13 00:04:52 LicenseManager 2635 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd 2636 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0 2637 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux 2645 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2635 /var/log/eos-console | sed 's/\(.*\)/\1\r/' 2648 0.0 0.0 ? S Aug 13 00:00:55 /usr/bin/tail -n 0 --retry --follow=name --pid=2635 /var/log/eos-console 2649 0.0 0.0 ? S Aug 13 00:00:00 sed s/\(.*\)/\1\r/ 2691 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct> 2718 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=417010822932,417010338793,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec 2720 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2721 0.0 1.2 ? S Aug 13 00:35:10 Ipsec 2723 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1 2750 0.0 0.1 ? Ssl Aug 13 00:01:23 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid 2753 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc 3323 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon 3325 0.0 0.1 ? Ssl Aug 13 00:02:06 /usr/libexec/strongswan/charon --use-syslog 12495 0.0 0.0 ? S Aug 31 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh 13396 0.0 0.0 ? S 16:07:00 00:00:00 [kworker/0:0] 16265 0.0 0.0 ? S 16:19:01 00:00:00 [kworker/0:2] 18653 0.0 0.0 ? S Aug 14 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=665436806498288,665436806007998,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini 18654 0.0 0.3 ? Ss Aug 14 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 18655 0.0 1.3 ? Sl Aug 14 00:06:15 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 18699 0.0 0.0 ? Ss Aug 14 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid; 18701 0.0 0.1 ? S Aug 14 00:01:47 nginx: worker process 18917 0.0 0.0 ? S 16:25:00 00:00:00 [kworker/0:1] 22344 0.0 0.0 ? S 16:31:01 00:00:00 [kworker/0:3] 22359 0.0 0.0 ? S 16:31:01 00:00:00 [kworker/0:4] 23589 0.0 0.0 ? S 16:32:42 00:00:00 sshd: root [net] 23851 0.0 0.0 ? S 16:32:50 00:00:00 sshd: root [pam] 23855 0.0 0.0 ? Rs 16:32:51 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww | ||||
| Passed | kg-topology-CloudEosRR1 | tests/daemon/test_daemon.py::DaemonTests::test_if_daemons_are_running_on_[kg-topology-CloudEosRR1] | Verify a list of daemons are running on DUT | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1|: TerminAttr daemon running is |True| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_daemon.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_daemons_are_running_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show daemon| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show daemon| on kg-topology-CloudEosRR1 INFO root:test_daemon.py:73 TEST is TerminAttr daemon running on |kg-topology-CloudEosRR1| INFO root:test_daemon.py:74 GIVEN expected TerminAttr running state: |True| INFO root:test_daemon.py:79 WHEN TerminAttr device running state is |True| INFO root:test_daemon.py:83 THEN test case result is |True| INFO root:test_daemon.py:84 OUTPUT of |show daemon| is : Process: TerminAttr (running with PID 1720) Uptime: 27 days, 15:14:10 (Start time: Thu Aug 13 01:18:47 2020) No configuration options stored. No status data stored. | ||||
| Passed | kg-topology-CloudEosRR1 | tests/cpu/test_cpu.py::CPUTests::test_1_min_cpu_utlization_on_[kg-topology-CloudEosRR1] | Verify 1 minute CPU % is under specificied value | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| 1 minute CPU load average is |1.81%| and should be under |10%| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_cpu.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_1_min_cpu_utlization_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show processes| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show processes| on kg-topology-CloudEosRR1 INFO root:test_cpu.py:105 TEST if 1 minute CPU utilization is less than specified value on |kg-topology-CloudEosRR1| INFO root:test_cpu.py:107 GIVEN CPU utilization is less than |10| INFO root:test_cpu.py:111 WHEN CPU utilization is |1.81| INFO root:test_cpu.py:114 THEN test case result is |True| INFO root:test_cpu.py:115 OUTPUT of |show processes| is : 16:32:52 up 27 days, 15:15, 0 users, load average: 2.12, 1.81, 1.49 PID %CPU %MEM TT STAT STARTED TIME CMD 2051 101 3.4 ? Sl Aug 13 28-00:35:44 Sfe 1720 2.4 1.8 ? Sl Aug 13 15:58:37 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.12.101 -taillogs -grpcaddr=0.0.0.0:6042 12509 0.5 0.7 ? SNl Aug 31 01:15:14 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config 23586 0.5 0.1 ? Ss 16:32:42 00:00:00 sshd: root [priv] 1571 0.3 7.1 ? Sl Aug 13 02:05:49 ConfigAgent 1296 0.2 0.9 ? S Aug 13 01:32:30 ProcMgr-worker 1529 0.2 2.6 ? S Aug 13 01:36:43 Sysdb 1735 0.1 1.7 ? S Aug 13 00:49:00 SuperServer 1759 0.1 1.0 ? S Aug 13 01:17:06 AgentMonitor 1992 0.1 1.6 ? S Aug 13 00:46:16 IpRib 1 0.0 0.0 ? Ss Aug 13 00:06:04 /sbin/init 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd] 3 0.0 0.0 ? S Aug 13 00:00:12 [ksoftirqd/0] 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H] 7 0.0 0.0 ? S Aug 13 00:00:17 [rcu_preempt] 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched] 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh] 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0] 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain] 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0] 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0] 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1] 15 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/1] 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1] 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1] 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0] 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H] 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2] 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2] 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2] 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2] 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0] 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H] 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3] 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3] 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3] 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3] 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0] 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H] 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs] 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns] 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd] 35 0.0 0.0 ? S Aug 13 00:00:14 [khungtaskd2] 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper] 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback] 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0] 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto] 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd] 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd] 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff] 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller] 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task] 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd] 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd] 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl] 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod] 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod] 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0] 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat] 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod] 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd] 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme] 73 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:1] 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd] 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf] 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq] 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-] 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver] 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H] 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0] 387 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd 414 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f 497 0.0 0.0 ? S< Aug 13 00:00:00 [ena] 705 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1] 734 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground 738 0.0 0.0 ? Ss Aug 13 00:02:52 /usr/lib/systemd/systemd-logind 740 0.0 0.1 ? Ss Aug 13 00:04:31 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 752 0.0 0.0 ? Ss Aug 13 00:00:52 /usr/bin/ProcMonitor 796 0.0 0.0 ? Ss Aug 13 00:00:05 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid 811 0.0 0.0 ? S<s Aug 13 00:00:21 /usr/bin/wdogdev -t 60 820 0.0 0.0 ? Ss Aug 13 00:00:16 /usr/sbin/crond -n 867 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:3] 976 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local 977 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1007 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys 1008 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1025 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure 1026 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil 1029 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1054 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon 1169 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1170 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1204 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm 1267 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1269 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1295 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master 1468 0.0 0.0 ? S Aug 13 00:09:19 /usr/bin/EosOomAdjust 1476 0.0 0.0 ? S Aug 13 00:00:01 [rbfd_vrf_cleanu] 1491 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid 1528 0.0 0.0 ? S Aug 13 00:02:07 /usr/bin/SlabMonitor 1570 0.0 1.2 ? S Aug 13 00:04:49 StageMgr 1575 0.0 1.4 ? S Aug 13 00:11:32 Fru 1576 0.0 1.8 ? S Aug 13 00:04:48 Launcher 1696 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=283510534772,283510025210,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp 1697 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1698 0.0 1.2 ? S Aug 13 00:17:41 Lldp 1703 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=283625389593,283557152987,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon 1704 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1706 0.0 1.2 ? S Aug 13 00:12:09 McastCommon 1708 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=283790275633,283680080063,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec 1709 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H] 1712 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1713 0.0 1.2 ? S Aug 13 00:13:21 PortSec 1727 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=284244580020,284069179516,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd 1728 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1729 0.0 1.4 ? S Aug 13 00:13:15 Bfd 1732 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=288276526737,288091282802,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag 1733 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1734 0.0 1.3 ? S Aug 13 00:28:58 Lag 1739 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=292170530223,292160868939,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira 1740 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1741 0.0 1.5 ? S Aug 13 00:12:19 Ira 1742 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=296430530784,292790029349,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy 1743 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1744 0.0 1.2 ? S Aug 13 00:15:06 LedPolicy 1746 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=296679631718,296505735315,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr 1747 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1748 0.0 1.3 ? S Aug 13 00:17:20 EventMgr 1749 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=296966020071,296758072413,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx 1750 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1751 0.0 1.2 ? S Aug 13 00:37:31 StpTxRx 1754 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=297230697565,297031996334,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld 1755 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1756 0.0 1.1 ? S Aug 13 00:04:51 StandbyCpld 1757 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=300703577697,297318029615,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor 1758 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1761 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=300917240606,300815189647,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel 1762 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1763 0.0 1.2 ? S Aug 13 00:07:39 Tunnel 1764 0.0 1.5 ? Sl Aug 13 00:12:38 Aaa 1766 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=301455121817,301267954454,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology 1767 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1768 0.0 1.2 ? S Aug 13 00:12:13 StpTopology 1773 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=305296588459,301639833561,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl 1777 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1778 0.0 1.4 ? S Aug 13 00:27:21 Acl 1790 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=305473916024,305413789947,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp 1793 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1794 0.0 1.1 ? S Aug 13 00:22:54 Stp 1811 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=309631584027,309381913189,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo 1813 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1816 0.0 1.1 ? S Aug 13 00:05:42 KernelNetworkInfo 1819 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=309865727193,309723632318,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6 1820 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1822 0.0 1.2 ? S Aug 13 00:12:08 McastCommon6 1830 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=313593113413,309953840906,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent 1834 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1837 0.0 1.2 ? S Aug 13 00:12:19 LacpTxAgent 1850 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=314118913201,313693882645,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp 1852 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1854 0.0 1.5 ? S Aug 13 00:18:58 Arp 1872 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=314295268017,314276868472,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib 1873 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1875 0.0 1.4 ? S Aug 13 00:12:15 KernelFib 1882 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=318150424387,318144860272,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos 1883 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1884 0.0 1.2 ? S Aug 13 00:14:00 Qos 1887 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=318469770561,318468274840,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat 1888 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1889 0.0 1.1 ? S Aug 13 00:05:41 Thermostat 1892 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=322522479134,322385632691,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib 1896 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1898 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=326605383165,326604902657,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled 1899 0.0 1.2 ? S Aug 13 00:05:40 L2Rib 1900 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1901 0.0 1.2 ? S Aug 13 00:11:44 TopoAgent 1903 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=326894071252,326715955598,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse 1905 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1909 0.0 1.1 ? S Aug 13 00:04:50 PowerFuse 1914 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=327071699135,326953747273,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager 1918 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1922 0.0 1.1 ? S Aug 13 00:04:50 PowerManager 1929 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=327151350040,327147282764,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra 1935 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1939 0.0 1.4 ? S Aug 13 00:16:58 Ebra 1947 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=331154170429,330747269552,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent 1948 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1951 0.0 1.1 ? S Aug 13 00:04:52 ReloadCauseAgent 1957 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=331232223925,331231692014,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile 1961 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1964 0.0 1.1 ? S Aug 13 00:04:52 SharedSecretProfile 1967 0.0 1.5 ? S Aug 13 00:12:20 IgmpSnooping 1984 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=335195923420,335185191889,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled 1985 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1986 0.0 1.3 ? S Aug 13 00:05:43 StaticRoute 1990 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=335500217122,335274316065,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled 1991 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2009 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=335591889667,335586171622,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled 2012 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2015 0.0 1.9 ? S Aug 13 00:05:48 BgpCliHelper 2025 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=339572209152,339402675873,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute 2027 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2028 0.0 1.3 ? S Aug 13 00:12:22 ConnectedRoute 2030 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=340013863328,339680435197,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput 2031 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2032 0.0 1.3 ? S Aug 13 00:05:44 RouteInput 2033 0.0 2.3 ? Sl Aug 13 00:27:16 Bgp 2040 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=344444576369,344061658149,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe 2045 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2303 0.0 0.0 ? Ssl Aug 13 00:00:28 /usr/sbin/rsyslogd -n 2369 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq 2630 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=395217769752,395217285612,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager 2631 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2632 0.0 1.1 ? S Aug 13 00:04:52 LicenseManager 2635 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd 2636 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0 2637 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux 2645 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2635 /var/log/eos-console | sed 's/\(.*\)/\1\r/' 2648 0.0 0.0 ? S Aug 13 00:00:55 /usr/bin/tail -n 0 --retry --follow=name --pid=2635 /var/log/eos-console 2649 0.0 0.0 ? S Aug 13 00:00:00 sed s/\(.*\)/\1\r/ 2691 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct> 2718 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=417010822932,417010338793,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec 2720 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2721 0.0 1.2 ? S Aug 13 00:35:10 Ipsec 2723 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1 2750 0.0 0.1 ? Ssl Aug 13 00:01:23 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid 2753 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc 3323 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon 3325 0.0 0.1 ? Ssl Aug 13 00:02:06 /usr/libexec/strongswan/charon --use-syslog 12495 0.0 0.0 ? S Aug 31 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh 13396 0.0 0.0 ? S 16:07:00 00:00:00 [kworker/0:0] 16265 0.0 0.0 ? S 16:19:01 00:00:00 [kworker/0:2] 18653 0.0 0.0 ? S Aug 14 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=665436806498288,665436806007998,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini 18654 0.0 0.3 ? Ss Aug 14 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 18655 0.0 1.3 ? Sl Aug 14 00:06:15 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 18699 0.0 0.0 ? Ss Aug 14 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid; 18701 0.0 0.1 ? S Aug 14 00:01:47 nginx: worker process 18917 0.0 0.0 ? S 16:25:00 00:00:00 [kworker/0:1] 22344 0.0 0.0 ? S 16:31:01 00:00:00 [kworker/0:3] 22359 0.0 0.0 ? S 16:31:01 00:00:00 [kworker/0:4] 23589 0.0 0.0 ? S 16:32:42 00:00:00 sshd: root [net] 23851 0.0 0.0 ? S 16:32:50 00:00:00 sshd: root [pam] 23859 0.0 0.0 ? Rs 16:32:51 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww | ||||
| Passed | kg-topology-CloudEosRR1 | tests/daemon/test_daemon.py::DaemonTests::test_if_daemons_are_enabled_on_[kg-topology-CloudEosRR1] | Verify a list of daemons are enabled on DUT | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1|: TerminAttr daemon enabled is |True| and expected value is |True|. Test result is True -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_daemon.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_daemons_are_enabled_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True} INFO root:test_daemon.py:105 TEST is terminattr daemon enabled on |kg-topology-CloudEosRR1| INFO root:test_daemon.py:106 GIVEN expected terminattr​ enabled state: |True| INFO root:tests_tools.py:356 Verify if show command |show daemon| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show daemon| on kg-topology-CloudEosRR1 INFO root:test_daemon.py:114 WHEN terminattr​ device enabled state is |True| INFO root:test_daemon.py:118 THEN test case result is |True| INFO root:test_daemon.py:119 OUTPUT of |show daemon|: Process: TerminAttr (running with PID 1720) Uptime: 27 days, 15:14:10 (Start time: Thu Aug 13 01:18:47 2020) No configuration options stored. No status data stored. | ||||
| Passed | kg-topology-CloudEosRR1 | tests/extension/test_extension.py::ExtensionsTests::test_if_extensions_are_erroring_on_[kg-topology-CloudEosRR1] | Verify a list of extension are not erroring on a DUT | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| awslogs.swix extension error is |False| On router |kg-topology-CloudEosRR1| awsha.rpm extension error is |False| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_extension.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_extensions_are_erroring_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show extensions| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show extensions| on kg-topology-CloudEosRR1 INFO root:test_extension.py:117 TEST is awslogs.swix extension not erroring on |kg-topology-CloudEosRR1| INFO root:test_extension.py:119 GIVEN expected awslogs.swix extension status: |False| INFO root:test_extension.py:128 WHEN awslogs.swix extenstion error state is |False| INFO root:test_extension.py:132 THEN test case result is |True| INFO root:test_extension.py:133 OUTPUT of |show extensions| is : Name Version/Release Status Extension ----------------- -------------------- ----------- --------- awsha.rpm 0.1.1/1 A, I 1 awslogs.swix 1.4.0/1.el7 A, I 1 A: available | NA: not available | I: installed | NI: not installed | F: forced S: valid signature | NS: invalid signature INFO root:test_extension.py:117 TEST is awsha.rpm extension not erroring on |kg-topology-CloudEosRR1| INFO root:test_extension.py:119 GIVEN expected awsha.rpm extension status: |False| INFO root:test_extension.py:128 WHEN awsha.rpm extenstion error state is |False| INFO root:test_extension.py:132 THEN test case result is |True| INFO root:test_extension.py:133 OUTPUT of |show extensions| is : Name Version/Release Status Extension ----------------- -------------------- ----------- --------- awsha.rpm 0.1.1/1 A, I 1 awslogs.swix 1.4.0/1.el7 A, I 1 A: available | NA: not available | I: installed | NI: not installed | F: forced S: valid signature | NS: invalid signature | ||||
| Passed | kg-topology-CloudEosRR1 | tests/host/test_host.py::HostTests::test_if_hostname_is_correcet_on_[kg-topology-CloudEosRR1] | Verify hostname is set on device is correct | 0.00 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| the configured hostname is |kg-topology-CloudEosRR1| and the correct hostname is |kg-topology-CloudEosRR1| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_host.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_hostname_is_correcet_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show hostname| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show hostname| on kg-topology-CloudEosRR1 INFO root:test_host.py:72 TEST is hostname kg-topology-CloudEosRR1 correct INFO root:test_host.py:73 GIVEN hostname kg-topology-CloudEosRR1 INFO root:test_host.py:74 WHEN hostname is kg-topology-CloudEosRR1 INFO root:test_host.py:81 THEN test case result is |False| INFO root:test_host.py:82 OUTPUT of |show hostname| is : Hostname: kg-topology-CloudEosRR1 FQDN: kg-topology-CloudEosRR1 | ||||
| Passed | kg-topology-CloudEosRR1 | tests/interface/test_interface.py::InterfaceStatusTests::test_if_intf_link_status_is_connected_on_[kg-topology-CloudEosRR1] | Verify the interfaces of interest link statuses are up | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1|: - On interface |Ethernet1|: interface link line protocol status is set to: |connected|, correct state is |connected| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_interface.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_intf_link_status_is_connected_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None} INFO root:tests_tools.py:356 Verify if show command |show interfaces status| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show interfaces status| on kg-topology-CloudEosRR1 INFO root:test_interface.py:133 TEST if interface |Ethernet1| link status is up on |kg-topology-CloudEosRR1| INFO root:test_interface.py:135 GIVEN interface status is |connected| INFO root:test_interface.py:139 WHEN interface status is |connected| INFO root:test_interface.py:142 THEN test case result is |True| INFO root:test_interface.py:143 OUTPUT of |show interfaces status| is : Port Name Status Vlan Duplex Speed Type Flags Encapsulation Et1 connected routed full unconf 10/100/1000 Et100 connected routed full 10G 10/100/1000 INFO root:tests_tools.py:469 Find Index for test suite: test_interface.py on dut kg-topology-CloudEosRR1 INFO root:tests_tools.py:473 Test suite test_interface.py exists in results file at index 0 INFO root:tests_tools.py:480 Find Index for test case: test_if_intf_link_status_is_connected_on_ on dut kg-topology-CloudEosRR1 INFO root:tests_tools.py:484 Test case test_if_intf_link_status_is_connected_on_ exists in results file at index 0 INFO root:tests_tools.py:491 Add DUT kg-topology-CloudEosRR1 to test case test_if_intf_link_status_is_connected_on_ with parameters {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None, 'actual_output': 'connected', 'test_result': True, 'dut': 'kg-topology-CloudEosRR1'} | ||||
| Passed | kg-topology-CloudEosRR1 | tests/logging/test_logging.py::LoggingTests::test_if_log_messages_appear_on_[kg-topology-CloudEosRR1] | Verify local log messages | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| message |critical| NOT found in local log On router |kg-topology-CloudEosRR1| message |warning| NOT found in local log On router |kg-topology-CloudEosRR1| message |ECC| NOT found in local log On router |kg-topology-CloudEosRR1| message |servers errors| NOT found in local log On router |kg-topology-CloudEosRR1| message |parity| NOT found in local log -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_logging.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_log_messages_appear_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show logging| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show logging| on kg-topology-CloudEosRR1 INFO root:test_logging.py:74 TEST for local log message critical on |kg-topology-CloudEosRR1| INFO root:test_logging.py:86 THEN test case result is |Passed| INFO root:test_logging.py:87 OUTPUT of |show logging| is : Syslog logging: enabled Buffer logging: level debugging Console logging: level errors Persistent logging: disabled Monitor logging: level errors Synchronous logging: disabled Trap logging: level informational Sequence numbers: disabled Syslog facility: local4 Hostname format: Hostname only Repeat logging interval: disabled Repeat messages: disabled Facility Severity Effective Severity -------------------- ------------- ------------------ aaa debugging debugging accounting debugging debugging acl debugging debugging agent debugging debugging ale debugging debugging arp debugging debugging bfd debugging debugging bgp debugging debugging bmp debugging debugging capacity debugging debugging capi debugging debugging clear debugging debugging cvx debugging debugging dataplane debugging debugging dhcp debugging debugging dot1x debugging debugging dscp debugging debugging envmon debugging debugging eth debugging debugging eventmon debugging debugging extension debugging debugging fhrp debugging debugging flow debugging debugging forwarding debugging debugging fru debugging debugging fwk debugging debugging gmp debugging debugging hardware debugging debugging health debugging debugging httpservice debugging debugging igmp debugging debugging igmpsnooping debugging debugging int debugging debugging intf debugging debugging ip6routing debugging debugging iprib debugging debugging ira debugging debugging isis debugging debugging kernelfib debugging debugging lacp debugging debugging lag debugging debugging launcher debugging debugging ldp debugging debugging license debugging debugging lineproto debugging debugging lldp debugging debugging loadbalancer debugging debugging logmgr debugging debugging loopback debugging debugging loopprotect debugging debugging mapreducemonitor debugging debugging mcs debugging debugging mirroring debugging debugging mka debugging debugging mlag debugging debugging mldsnooping debugging debugging mmode debugging debugging mroute debugging debugging mrp debugging debugging msdp debugging debugging msrp debugging debugging msspolicymonitor debugging debugging mvrp debugging debugging nat debugging debugging openconfig debugging debugging openflow debugging debugging ospf debugging debugging ospf3 debugging debugging package debugging debugging pfc debugging debugging pimbsr debugging debugging portsecurity debugging debugging ptp debugging debugging pwrmgmt debugging debugging qos debugging debugging queuemonitor debugging debugging radius debugging debugging redundancy debugging debugging rib debugging debugging routing debugging debugging security debugging debugging servermonitor debugging debugging spantree debugging debugging sso debugging debugging stagemgr debugging debugging sys debugging debugging sysdb debugging debugging tapagg debugging debugging tcp debugging debugging transceiver debugging debugging tunnel debugging debugging tunnelintf debugging debugging vmtracersess debugging debugging vmwarevi debugging debugging vmwarevs debugging debugging vrf debugging debugging vrrp debugging debugging vxlan debugging debugging xmpp debugging debugging ztp debugging debugging Log Buffer: Sep 9 16:14:20 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:14:20 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:14:26 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:03 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:29 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:29 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:35 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:20:46 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:11 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:21:13 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:19 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:18 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:43 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:45 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:51 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:13 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:38 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:39 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:45 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:16 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:41 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:42 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:48 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:30:42 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:07 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:15 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:43 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:15 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:40 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] INFO root:test_logging.py:74 TEST for local log message warning on |kg-topology-CloudEosRR1| INFO root:test_logging.py:86 THEN test case result is |Passed| INFO root:test_logging.py:87 OUTPUT of |show logging| is : Syslog logging: enabled Buffer logging: level debugging Console logging: level errors Persistent logging: disabled Monitor logging: level errors Synchronous logging: disabled Trap logging: level informational Sequence numbers: disabled Syslog facility: local4 Hostname format: Hostname only Repeat logging interval: disabled Repeat messages: disabled Facility Severity Effective Severity -------------------- ------------- ------------------ aaa debugging debugging accounting debugging debugging acl debugging debugging agent debugging debugging ale debugging debugging arp debugging debugging bfd debugging debugging bgp debugging debugging bmp debugging debugging capacity debugging debugging capi debugging debugging clear debugging debugging cvx debugging debugging dataplane debugging debugging dhcp debugging debugging dot1x debugging debugging dscp debugging debugging envmon debugging debugging eth debugging debugging eventmon debugging debugging extension debugging debugging fhrp debugging debugging flow debugging debugging forwarding debugging debugging fru debugging debugging fwk debugging debugging gmp debugging debugging hardware debugging debugging health debugging debugging httpservice debugging debugging igmp debugging debugging igmpsnooping debugging debugging int debugging debugging intf debugging debugging ip6routing debugging debugging iprib debugging debugging ira debugging debugging isis debugging debugging kernelfib debugging debugging lacp debugging debugging lag debugging debugging launcher debugging debugging ldp debugging debugging license debugging debugging lineproto debugging debugging lldp debugging debugging loadbalancer debugging debugging logmgr debugging debugging loopback debugging debugging loopprotect debugging debugging mapreducemonitor debugging debugging mcs debugging debugging mirroring debugging debugging mka debugging debugging mlag debugging debugging mldsnooping debugging debugging mmode debugging debugging mroute debugging debugging mrp debugging debugging msdp debugging debugging msrp debugging debugging msspolicymonitor debugging debugging mvrp debugging debugging nat debugging debugging openconfig debugging debugging openflow debugging debugging ospf debugging debugging ospf3 debugging debugging package debugging debugging pfc debugging debugging pimbsr debugging debugging portsecurity debugging debugging ptp debugging debugging pwrmgmt debugging debugging qos debugging debugging queuemonitor debugging debugging radius debugging debugging redundancy debugging debugging rib debugging debugging routing debugging debugging security debugging debugging servermonitor debugging debugging spantree debugging debugging sso debugging debugging stagemgr debugging debugging sys debugging debugging sysdb debugging debugging tapagg debugging debugging tcp debugging debugging transceiver debugging debugging tunnel debugging debugging tunnelintf debugging debugging vmtracersess debugging debugging vmwarevi debugging debugging vmwarevs debugging debugging vrf debugging debugging vrrp debugging debugging vxlan debugging debugging xmpp debugging debugging ztp debugging debugging Log Buffer: Sep 9 16:14:20 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:14:20 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:14:26 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:03 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:29 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:29 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:35 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:20:46 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:11 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:21:13 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:19 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:18 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:43 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:45 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:51 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:13 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:38 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:39 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:45 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:16 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:41 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:42 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:48 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:30:42 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:07 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:15 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:43 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:15 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:40 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] INFO root:test_logging.py:74 TEST for local log message ECC on |kg-topology-CloudEosRR1| INFO root:test_logging.py:86 THEN test case result is |Passed| INFO root:test_logging.py:87 OUTPUT of |show logging| is : Syslog logging: enabled Buffer logging: level debugging Console logging: level errors Persistent logging: disabled Monitor logging: level errors Synchronous logging: disabled Trap logging: level informational Sequence numbers: disabled Syslog facility: local4 Hostname format: Hostname only Repeat logging interval: disabled Repeat messages: disabled Facility Severity Effective Severity -------------------- ------------- ------------------ aaa debugging debugging accounting debugging debugging acl debugging debugging agent debugging debugging ale debugging debugging arp debugging debugging bfd debugging debugging bgp debugging debugging bmp debugging debugging capacity debugging debugging capi debugging debugging clear debugging debugging cvx debugging debugging dataplane debugging debugging dhcp debugging debugging dot1x debugging debugging dscp debugging debugging envmon debugging debugging eth debugging debugging eventmon debugging debugging extension debugging debugging fhrp debugging debugging flow debugging debugging forwarding debugging debugging fru debugging debugging fwk debugging debugging gmp debugging debugging hardware debugging debugging health debugging debugging httpservice debugging debugging igmp debugging debugging igmpsnooping debugging debugging int debugging debugging intf debugging debugging ip6routing debugging debugging iprib debugging debugging ira debugging debugging isis debugging debugging kernelfib debugging debugging lacp debugging debugging lag debugging debugging launcher debugging debugging ldp debugging debugging license debugging debugging lineproto debugging debugging lldp debugging debugging loadbalancer debugging debugging logmgr debugging debugging loopback debugging debugging loopprotect debugging debugging mapreducemonitor debugging debugging mcs debugging debugging mirroring debugging debugging mka debugging debugging mlag debugging debugging mldsnooping debugging debugging mmode debugging debugging mroute debugging debugging mrp debugging debugging msdp debugging debugging msrp debugging debugging msspolicymonitor debugging debugging mvrp debugging debugging nat debugging debugging openconfig debugging debugging openflow debugging debugging ospf debugging debugging ospf3 debugging debugging package debugging debugging pfc debugging debugging pimbsr debugging debugging portsecurity debugging debugging ptp debugging debugging pwrmgmt debugging debugging qos debugging debugging queuemonitor debugging debugging radius debugging debugging redundancy debugging debugging rib debugging debugging routing debugging debugging security debugging debugging servermonitor debugging debugging spantree debugging debugging sso debugging debugging stagemgr debugging debugging sys debugging debugging sysdb debugging debugging tapagg debugging debugging tcp debugging debugging transceiver debugging debugging tunnel debugging debugging tunnelintf debugging debugging vmtracersess debugging debugging vmwarevi debugging debugging vmwarevs debugging debugging vrf debugging debugging vrrp debugging debugging vxlan debugging debugging xmpp debugging debugging ztp debugging debugging Log Buffer: Sep 9 16:14:20 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:14:20 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:14:26 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:03 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:29 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:29 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:35 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:20:46 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:11 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:21:13 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:19 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:18 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:43 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:45 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:51 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:13 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:38 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:39 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:45 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:16 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:41 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:42 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:48 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:30:42 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:07 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:15 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:43 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:15 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:40 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] INFO root:test_logging.py:74 TEST for local log message servers errors on |kg-topology-CloudEosRR1| INFO root:test_logging.py:86 THEN test case result is |Passed| INFO root:test_logging.py:87 OUTPUT of |show logging| is : Syslog logging: enabled Buffer logging: level debugging Console logging: level errors Persistent logging: disabled Monitor logging: level errors Synchronous logging: disabled Trap logging: level informational Sequence numbers: disabled Syslog facility: local4 Hostname format: Hostname only Repeat logging interval: disabled Repeat messages: disabled Facility Severity Effective Severity -------------------- ------------- ------------------ aaa debugging debugging accounting debugging debugging acl debugging debugging agent debugging debugging ale debugging debugging arp debugging debugging bfd debugging debugging bgp debugging debugging bmp debugging debugging capacity debugging debugging capi debugging debugging clear debugging debugging cvx debugging debugging dataplane debugging debugging dhcp debugging debugging dot1x debugging debugging dscp debugging debugging envmon debugging debugging eth debugging debugging eventmon debugging debugging extension debugging debugging fhrp debugging debugging flow debugging debugging forwarding debugging debugging fru debugging debugging fwk debugging debugging gmp debugging debugging hardware debugging debugging health debugging debugging httpservice debugging debugging igmp debugging debugging igmpsnooping debugging debugging int debugging debugging intf debugging debugging ip6routing debugging debugging iprib debugging debugging ira debugging debugging isis debugging debugging kernelfib debugging debugging lacp debugging debugging lag debugging debugging launcher debugging debugging ldp debugging debugging license debugging debugging lineproto debugging debugging lldp debugging debugging loadbalancer debugging debugging logmgr debugging debugging loopback debugging debugging loopprotect debugging debugging mapreducemonitor debugging debugging mcs debugging debugging mirroring debugging debugging mka debugging debugging mlag debugging debugging mldsnooping debugging debugging mmode debugging debugging mroute debugging debugging mrp debugging debugging msdp debugging debugging msrp debugging debugging msspolicymonitor debugging debugging mvrp debugging debugging nat debugging debugging openconfig debugging debugging openflow debugging debugging ospf debugging debugging ospf3 debugging debugging package debugging debugging pfc debugging debugging pimbsr debugging debugging portsecurity debugging debugging ptp debugging debugging pwrmgmt debugging debugging qos debugging debugging queuemonitor debugging debugging radius debugging debugging redundancy debugging debugging rib debugging debugging routing debugging debugging security debugging debugging servermonitor debugging debugging spantree debugging debugging sso debugging debugging stagemgr debugging debugging sys debugging debugging sysdb debugging debugging tapagg debugging debugging tcp debugging debugging transceiver debugging debugging tunnel debugging debugging tunnelintf debugging debugging vmtracersess debugging debugging vmwarevi debugging debugging vmwarevs debugging debugging vrf debugging debugging vrrp debugging debugging vxlan debugging debugging xmpp debugging debugging ztp debugging debugging Log Buffer: Sep 9 16:14:20 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:14:20 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:14:26 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:03 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:29 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:29 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:35 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:20:46 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:11 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:21:13 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:19 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:18 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:43 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:45 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:51 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:13 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:38 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:39 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:45 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:16 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:41 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:42 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:48 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:30:42 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:07 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:15 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:43 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:15 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:40 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] INFO root:test_logging.py:74 TEST for local log message parity on |kg-topology-CloudEosRR1| INFO root:test_logging.py:86 THEN test case result is |Passed| INFO root:test_logging.py:87 OUTPUT of |show logging| is : Syslog logging: enabled Buffer logging: level debugging Console logging: level errors Persistent logging: disabled Monitor logging: level errors Synchronous logging: disabled Trap logging: level informational Sequence numbers: disabled Syslog facility: local4 Hostname format: Hostname only Repeat logging interval: disabled Repeat messages: disabled Facility Severity Effective Severity -------------------- ------------- ------------------ aaa debugging debugging accounting debugging debugging acl debugging debugging agent debugging debugging ale debugging debugging arp debugging debugging bfd debugging debugging bgp debugging debugging bmp debugging debugging capacity debugging debugging capi debugging debugging clear debugging debugging cvx debugging debugging dataplane debugging debugging dhcp debugging debugging dot1x debugging debugging dscp debugging debugging envmon debugging debugging eth debugging debugging eventmon debugging debugging extension debugging debugging fhrp debugging debugging flow debugging debugging forwarding debugging debugging fru debugging debugging fwk debugging debugging gmp debugging debugging hardware debugging debugging health debugging debugging httpservice debugging debugging igmp debugging debugging igmpsnooping debugging debugging int debugging debugging intf debugging debugging ip6routing debugging debugging iprib debugging debugging ira debugging debugging isis debugging debugging kernelfib debugging debugging lacp debugging debugging lag debugging debugging launcher debugging debugging ldp debugging debugging license debugging debugging lineproto debugging debugging lldp debugging debugging loadbalancer debugging debugging logmgr debugging debugging loopback debugging debugging loopprotect debugging debugging mapreducemonitor debugging debugging mcs debugging debugging mirroring debugging debugging mka debugging debugging mlag debugging debugging mldsnooping debugging debugging mmode debugging debugging mroute debugging debugging mrp debugging debugging msdp debugging debugging msrp debugging debugging msspolicymonitor debugging debugging mvrp debugging debugging nat debugging debugging openconfig debugging debugging openflow debugging debugging ospf debugging debugging ospf3 debugging debugging package debugging debugging pfc debugging debugging pimbsr debugging debugging portsecurity debugging debugging ptp debugging debugging pwrmgmt debugging debugging qos debugging debugging queuemonitor debugging debugging radius debugging debugging redundancy debugging debugging rib debugging debugging routing debugging debugging security debugging debugging servermonitor debugging debugging spantree debugging debugging sso debugging debugging stagemgr debugging debugging sys debugging debugging sysdb debugging debugging tapagg debugging debugging tcp debugging debugging transceiver debugging debugging tunnel debugging debugging tunnelintf debugging debugging vmtracersess debugging debugging vmwarevi debugging debugging vmwarevs debugging debugging vrf debugging debugging vrrp debugging debugging vxlan debugging debugging xmpp debugging debugging ztp debugging debugging Log Buffer: Sep 9 16:14:20 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:14:20 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:14:26 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:03 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:29 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:29 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:35 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:20:46 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:11 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:21:13 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:19 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:18 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:43 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:45 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:51 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:13 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:38 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:39 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:45 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:16 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:41 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:42 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:48 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:30:42 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:07 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:15 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:43 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:15 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:40 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] | ||||
| Passed | kg-topology-CloudEosRR1 | tests/ntp/test_ntp.py::NTPTests::test_if_ntp_is_synchronized_on_[kg-topology-CloudEosRR1] | Verify ntp is synchronzied | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| NTP synchronized status is: |True| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_ntp.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_ntp_is_synchronized_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show ntp status| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show ntp status| on kg-topology-CloudEosRR1 INFO root:test_ntp.py:70 TEST is NTP synchronized on |kg-topology-CloudEosRR1| INFO root:test_ntp.py:71 GIVEN NTP synchronized is |True| INFO root:test_ntp.py:77 WHEN NTP configuration file is |True| INFO root:test_ntp.py:80 THEN test case result is |True| INFO root:test_ntp.py:81 OUTPUT of |show ntp status| is : synchronised to NTP server (169.254.169.123) at stratum 4 time correct to within 21 ms polling server every 512 s | ||||
| Passed | kg-topology-CloudEosRR1 | tests/filesystem/test_filesystem.py::FileSystemTests::test_if_files_on_[kg-topology-CloudEosRR1] | Verify filesystem is correct and expected files are present | 0.93 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1|: flash:startup-config file isDir state is |False| On router |kg-topology-CloudEosRR1|: flash:veos-config file isDir state is |False| On router |kg-topology-CloudEosRR1|: flash:zerotouch-config file isDir state is |False| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_filesystem.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_files_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True} INFO root:test_filesystem.py:70 TEST is flash:startup-config file present on |kg-topology-CloudEosRR1| INFO root:test_filesystem.py:71 GIVEN expected flash:startup-config isDir state: |False| INFO root:tests_tools.py:245 Raw Input for return_show_cmd show_cmd: show file information flash:startup-config dut: {'connection': Node(connection=EapiConnection(transport=https://3.22.137.44:443//command-api)), 'name': 'kg-topology-CloudEosRR1', 'output': {'interface_list': [{'hostname': 'kg-topology-CloudEosRR1', 'interface_name': 'Ethernet1', 'z_hostname': 'leaf01', 'z_interface_name': 'Ethernet2', 'media_type': ''}], 'show interfaces status': {'json': {'interfaceStatuses': {'Ethernet100': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 10000000000, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet1': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}}}, 'text': 'Port Name Status Vlan Duplex Speed Type Flags Encapsulation\nEt1 connected routed full unconf 10/100/1000 \nEt100 connected routed full 10G 10/100/1000 \n\n'}, 'show interfaces phy detail': {'json': {'interfacePhyStatuses': {}}, 'text': ''}, 'show hostname': {'json': {'fqdn': 'kg-topology-CloudEosRR1', 'hostname': 'kg-topology-CloudEosRR1'}, 'text': 'Hostname: kg-topology-CloudEosRR1\nFQDN: kg-topology-CloudEosRR1\n'}, 'show extensions': {'json': {'extensions': {'awslogs.swix': {'status': 'installed', 'vendor': 'Amazon <UNKNOWN>', 'description': ' awsclicwlogs This awscli plugin provides the pull, push and filter commands to\naccess AWS CloudWatch Logs service. The awsclicwlogs package works on Python\nversions:* 2.6.5 and greater * 2.7.x and greater * 3.3.x and greater\nInstallation The easiest way to install awsclicwlogs is to use pip_:: $ pip\ninstall awsclicwlogsor, if you are not installing in a virtualenv:: $ sudo pip\ninstall ...', 'presence': 'present', 'rpms': {'awslogs.noarch.rpm': {'release': '1.el7', 'version': '1.4.0'}}, 'summary': 'AWSCLI CloudWatch Logs plugin', 'version': '1.4.0', 'numRpms': 1, 'error': False, 'release': '1.el7', 'installedSize': 23414055}, 'awsha.rpm': {'status': 'installed', 'vendor': '', 'description': 'Aws HA', 'presence': 'present', 'rpms': {'awsha.rpm': {'release': '1', 'version': '0.1.1'}}, 'summary': 'Aws HA', 'version': '0.1.1', 'numRpms': 1, 'error': False, 'release': '1', 'installedSize': 10073042}}}, 'text': 'Name Version/Release Status Extension\n----------------- -------------------- ----------- ---------\nawsha.rpm 0.1.1/1 A, I 1 \nawslogs.swix 1.4.0/1.el7 A, I 1 \n\n\nA: available | NA: not available | I: installed | NI: not installed | F: forced\nS: valid signature | NS: invalid signature\n'}, 'show version': {'json': {'memTotal': 7761392, 'uptime': 2387710.35, 'modelName': 'vEOS', 'internalVersion': '4.23.1F-cloud-16179785.jakartarel', 'mfgName': 'Arista', 'serialNumber': '9B112703F293F47ADC3EE25318457B64', 'systemMacAddress': '02:46:bb:59:d5:ae', 'bootupTimestamp': 1597281461.0, 'memFree': 2971700, 'version': '4.23.1F-cloud-16179785.jakartarel (engineering build)', 'configMacAddress': '00:00:00:00:00:00', 'isIntlVersion': False, 'internalBuildId': '6bc96200-86c1-4e86-bed7-8280a6802809', 'hardwareRevision': '', 'hwMacAddress': '00:00:00:00:00:00', 'architecture': 'x86_64'}, 'text': 'Arista vEOS\nHardware version: \nSerial number: 9B112703F293F47ADC3EE25318457B64\nSystem MAC address: 0246.bb59.d5ae\n\nSoftware image version: 4.23.1F-cloud-16179785.jakartarel (engineering build)\nArchitecture: x86_64\nInternal build version: 4.23.1F-cloud-16179785.jakartarel\nInternal build ID: 6bc96200-86c1-4e86-bed7-8280a6802809\n\nUptime: 3 weeks, 6 days, 15 hours and 15 minutes\nTotal memory: 7761392 kB\nFree memory: 2959400 kB\n\n'}, 'show processes': {'json': {'processes': {'2051': {'totalActiveTime': 2421343, 'memPct': 3.4, 'cpuPct': 101.0, 'startTime': 1597281541.0, 'cmd': 'Sfe', 'state': 'Sl', 'ttyName': '?'}, '1720': {'totalActiveTime': 57517, 'memPct': 1.8, 'cpuPct': 2.4, 'startTime': 1597281526.0, 'cmd': '/usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.12.101 -taillogs -grpcaddr=0.0.0.0:6042', 'state': 'Sl', 'ttyName': '?'}, '23586': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.6, 'startTime': 1599669162.0, 'cmd': 'sshd: root [priv] ', 'state': 'Ss', 'ttyName': '?'}, '12509': {'totalActiveTime': 4514, 'memPct': 0.7, 'cpuPct': 0.5, 'startTime': 1598897706.0, 'cmd': 'python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config', 'state': 'SNl', 'ttyName': '?'}, '1571': {'totalActiveTime': 7549, 'memPct': 7.1, 'cpuPct': 0.3, 'startTime': 1597281504.0, 'cmd': 'ConfigAgent', 'state': 'Sl', 'ttyName': '?'}, '1296': {'totalActiveTime': 5550, 'memPct': 0.9, 'cpuPct': 0.2, 'startTime': 1597281487.0, 'cmd': 'ProcMgr-worker', 'state': 'S', 'ttyName': '?'}, '1529': {'totalActiveTime': 5803, 'memPct': 2.6, 'cpuPct': 0.2, 'startTime': 1597281501.0, 'cmd': 'Sysdb', 'state': 'S', 'ttyName': '?'}, '1735': {'totalActiveTime': 2940, 'memPct': 1.7, 'cpuPct': 0.1, 'startTime': 1597281528.0, 'cmd': 'SuperServer', 'state': 'S', 'ttyName': '?'}, '1759': {'totalActiveTime': 4626, 'memPct': 1.0, 'cpuPct': 0.1, 'startTime': 1597281530.0, 'cmd': 'AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1992': {'totalActiveTime': 2776, 'memPct': 1.6, 'cpuPct': 0.1, 'startTime': 1597281538.0, 'cmd': 'IpRib', 'state': 'S', 'ttyName': '?'}, '1': {'totalActiveTime': 364, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '/sbin/init', 'state': 'Ss', 'ttyName': '?'}, '2': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kthreadd]', 'state': 'S', 'ttyName': '?'}, '3': {'totalActiveTime': 12, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ksoftirqd/0]', 'state': 'S', 'ttyName': '?'}, '5': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/0:0H]', 'state': 'S<', 'ttyName': '?'}, '7': {'totalActiveTime': 17, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[rcu_preempt]', 'state': 'S', 'ttyName': '?'}, '8': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[rcu_sched]', 'state': 'S', 'ttyName': '?'}, '9': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[rcu_bh]', 'state': 'S', 'ttyName': '?'}, '10': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[migration/0]', 'state': 'S', 'ttyName': '?'}, '11': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[lru-add-drain]', 'state': 'S<', 'ttyName': '?'}, '12': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[watchdog/0]', 'state': 'S', 'ttyName': '?'}, '13': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[cpuhp/0]', 'state': 'S', 'ttyName': '?'}, '14': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[cpuhp/1]', 'state': 'S', 'ttyName': '?'}, '15': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[watchdog/1]', 'state': 'S', 'ttyName': '?'}, '16': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[migration/1]', 'state': 'S', 'ttyName': '?'}, '17': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ksoftirqd/1]', 'state': 'S', 'ttyName': '?'}, '18': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/1:0]', 'state': 'S', 'ttyName': '?'}, '19': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/1:0H]', 'state': 'S<', 'ttyName': '?'}, '20': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[cpuhp/2]', 'state': 'S', 'ttyName': '?'}, '21': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[watchdog/2]', 'state': 'S', 'ttyName': '?'}, '22': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[migration/2]', 'state': 'S', 'ttyName': '?'}, '23': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ksoftirqd/2]', 'state': 'S', 'ttyName': '?'}, '24': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/2:0]', 'state': 'S', 'ttyName': '?'}, '25': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/2:0H]', 'state': 'S<', 'ttyName': '?'}, '26': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[cpuhp/3]', 'state': 'S', 'ttyName': '?'}, '27': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[watchdog/3]', 'state': 'S', 'ttyName': '?'}, '28': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[migration/3]', 'state': 'S', 'ttyName': '?'}, '29': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ksoftirqd/3]', 'state': 'S', 'ttyName': '?'}, '30': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/3:0]', 'state': 'S', 'ttyName': '?'}, '31': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/3:0H]', 'state': 'S<', 'ttyName': '?'}, '32': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kdevtmpfs]', 'state': 'S', 'ttyName': '?'}, '33': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[netns]', 'state': 'S<', 'ttyName': '?'}, '34': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[khungtaskd]', 'state': 'S', 'ttyName': '?'}, '35': {'totalActiveTime': 14, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[khungtaskd2]', 'state': 'S', 'ttyName': '?'}, '36': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[oom_reaper]', 'state': 'S', 'ttyName': '?'}, '37': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[writeback]', 'state': 'S<', 'ttyName': '?'}, '38': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kcompactd0]', 'state': 'S', 'ttyName': '?'}, '39': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[crypto]', 'state': 'S<', 'ttyName': '?'}, '40': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kintegrityd]', 'state': 'S<', 'ttyName': '?'}, '41': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '42': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kblockd]', 'state': 'S<', 'ttyName': '?'}, '43': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ata_sff]', 'state': 'S<', 'ttyName': '?'}, '44': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[edac-poller]', 'state': 'S<', 'ttyName': '?'}, '45': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[dst_gc_task]', 'state': 'S', 'ttyName': '?'}, '46': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[watchdogd]', 'state': 'S<', 'ttyName': '?'}, '47': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[arp_cache-prd]', 'state': 'S', 'ttyName': '?'}, '49': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[icmp_unreachabl]', 'state': 'S', 'ttyName': '?'}, '50': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[rpciod]', 'state': 'S<', 'ttyName': '?'}, '51': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[xprtiod]', 'state': 'S<', 'ttyName': '?'}, '52': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kswapd0]', 'state': 'S', 'ttyName': '?'}, '53': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[vmstat]', 'state': 'S<', 'ttyName': '?'}, '54': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[nfsiod]', 'state': 'S<', 'ttyName': '?'}, '63': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[pcielwd]', 'state': 'S<', 'ttyName': '?'}, '64': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '65': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '66': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '67': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '68': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '69': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '70': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '71': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '72': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[nvme]', 'state': 'S<', 'ttyName': '?'}, '73': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/u8:1]', 'state': 'S', 'ttyName': '?'}, '74': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ndisc_cache-prd]', 'state': 'S', 'ttyName': '?'}, '75': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ipv6_addrconf]', 'state': 'S<', 'ttyName': '?'}, '76': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ecc_log_wq]', 'state': 'S<', 'ttyName': '?'}, '124': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '125': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '171': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[jbd2/nvme0n1p1-]', 'state': 'S', 'ttyName': '?'}, '172': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ext4-rsv-conver]', 'state': 'S<', 'ttyName': '?'}, '194': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281461.0, 'cmd': '[kworker/0:1H]', 'state': 'S<', 'ttyName': '?'}, '272': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '[loop0]', 'state': 'S<', 'ttyName': '?'}, '387': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281469.0, 'cmd': '/usr/lib/systemd/systemd-udevd', 'state': 'Ss', 'ttyName': '?'}, '414': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281470.0, 'cmd': '/usr/sbin/lvmetad -f', 'state': 'Ss', 'ttyName': '?'}, '497': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281470.0, 'cmd': '[ena]', 'state': 'S<', 'ttyName': '?'}, '705': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281470.0, 'cmd': '[kworker/1:1]', 'state': 'S', 'ttyName': '?'}, '734': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': '/usr/sbin/mcelog --ignorenodev --daemon --foreground', 'state': 'Ss', 'ttyName': '?'}, '738': {'totalActiveTime': 172, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': '/usr/lib/systemd/systemd-logind', 'state': 'Ss', 'ttyName': '?'}, '740': {'totalActiveTime': 271, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': '/usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation', 'state': 'Ss', 'ttyName': '?'}, '752': {'totalActiveTime': 52, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': '/usr/bin/ProcMonitor', 'state': 'Ss', 'ttyName': '?'}, '796': {'totalActiveTime': 5, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': '/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid', 'state': 'Ss', 'ttyName': '?'}, '811': {'totalActiveTime': 21, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281472.0, 'cmd': '/usr/bin/wdogdev -t 60', 'state': 'S<s', 'ttyName': '?'}, '820': {'totalActiveTime': 16, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281472.0, 'cmd': '/usr/sbin/crond -n', 'state': 'Ss', 'ttyName': '?'}, '867': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281472.0, 'cmd': '[kworker/u8:3]', 'state': 'S', 'ttyName': '?'}, '976': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local', 'state': 'S', 'ttyName': '?'}, '977': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/0'}, '1007': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys', 'state': 'S', 'ttyName': '?'}, '1008': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/1'}, '1025': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure', 'state': 'S', 'ttyName': '?'}, '1026': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': '/usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil', 'state': 'Ss', 'ttyName': '?'}, '1029': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/2'}, '1054': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281475.0, 'cmd': '/bin/bash /usr/sbin/core_annotate_util daemon', 'state': 'Ss', 'ttyName': '?'}, '1169': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281480.0, 'cmd': 'python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1170': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281480.0, 'cmd': '/usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1204': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281480.0, 'cmd': 'inotifywait -e modify /var/lib/rpm', 'state': 'S', 'ttyName': '?'}, '1267': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281486.0, 'cmd': 'netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1269': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281486.0, 'cmd': 'netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1295': {'totalActiveTime': 0, 'memPct': 0.9, 'cpuPct': 0.0, 'startTime': 1597281487.0, 'cmd': 'ProcMgr-master', 'state': 'S', 'ttyName': '?'}, '1468': {'totalActiveTime': 559, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281501.0, 'cmd': '/usr/bin/EosOomAdjust', 'state': 'S', 'ttyName': '?'}, '1476': {'totalActiveTime': 1, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281501.0, 'cmd': '[rbfd_vrf_cleanu]', 'state': 'S', 'ttyName': '?'}, '1491': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281501.0, 'cmd': '/usr/sbin/acpid', 'state': 'Ss', 'ttyName': '?'}, '1528': {'totalActiveTime': 127, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281501.0, 'cmd': '/usr/bin/SlabMonitor', 'state': 'S', 'ttyName': '?'}, '1570': {'totalActiveTime': 289, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281504.0, 'cmd': 'StageMgr', 'state': 'S', 'ttyName': '?'}, '1575': {'totalActiveTime': 692, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281505.0, 'cmd': 'Fru', 'state': 'S', 'ttyName': '?'}, '1576': {'totalActiveTime': 288, 'memPct': 1.8, 'cpuPct': 0.0, 'startTime': 1597281505.0, 'cmd': 'Launcher', 'state': 'S', 'ttyName': '?'}, '1696': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netns --agenttitle=Lldp --demuxerOpts=283510534772,283510025210,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp', 'state': 'S', 'ttyName': '?'}, '1697': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1698': {'totalActiveTime': 1061, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'Lldp', 'state': 'S', 'ttyName': '?'}, '1703': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netns --agenttitle=McastCommon --demuxerOpts=283625389593,283557152987,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon', 'state': 'S', 'ttyName': '?'}, '1704': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1706': {'totalActiveTime': 729, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'McastCommon', 'state': 'S', 'ttyName': '?'}, '1708': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netns --agenttitle=PortSec --demuxerOpts=283790275633,283680080063,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec', 'state': 'S', 'ttyName': '?'}, '1709': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': '[kworker/1:1H]', 'state': 'S<', 'ttyName': '?'}, '1712': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1713': {'totalActiveTime': 801, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'PortSec', 'state': 'S', 'ttyName': '?'}, '1727': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netns --agenttitle=Bfd --demuxerOpts=284244580020,284069179516,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd', 'state': 'S', 'ttyName': '?'}, '1728': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1729': {'totalActiveTime': 795, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'Bfd', 'state': 'S', 'ttyName': '?'}, '1732': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netns --agenttitle=Lag --demuxerOpts=288276526737,288091282802,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag', 'state': 'S', 'ttyName': '?'}, '1733': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1734': {'totalActiveTime': 1738, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'Lag', 'state': 'S', 'ttyName': '?'}, '1739': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netns --agenttitle=Ira --demuxerOpts=292170530223,292160868939,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira', 'state': 'S', 'ttyName': '?'}, '1740': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1741': {'totalActiveTime': 739, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'Ira', 'state': 'S', 'ttyName': '?'}, '1742': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netns --agenttitle=LedPolicy --demuxerOpts=296430530784,292790029349,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy', 'state': 'S', 'ttyName': '?'}, '1743': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1744': {'totalActiveTime': 906, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'LedPolicy', 'state': 'S', 'ttyName': '?'}, '1746': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netns --agenttitle=EventMgr --demuxerOpts=296679631718,296505735315,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr', 'state': 'S', 'ttyName': '?'}, '1747': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1748': {'totalActiveTime': 1040, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'EventMgr', 'state': 'S', 'ttyName': '?'}, '1749': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netns --agenttitle=StpTxRx --demuxerOpts=296966020071,296758072413,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx', 'state': 'S', 'ttyName': '?'}, '1750': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1751': {'totalActiveTime': 2251, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'StpTxRx', 'state': 'S', 'ttyName': '?'}, '1754': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netns --agenttitle=StandbyCpld --demuxerOpts=297230697565,297031996334,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1755': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1756': {'totalActiveTime': 291, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1757': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netns --agenttitle=AgentMonitor --demuxerOpts=300703577697,297318029615,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1758': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1761': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netns --agenttitle=Tunnel --demuxerOpts=300917240606,300815189647,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel', 'state': 'S', 'ttyName': '?'}, '1762': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1763': {'totalActiveTime': 459, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'Tunnel', 'state': 'S', 'ttyName': '?'}, '1764': {'totalActiveTime': 758, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'Aaa', 'state': 'Sl', 'ttyName': '?'}, '1766': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netns --agenttitle=StpTopology --demuxerOpts=301455121817,301267954454,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology', 'state': 'S', 'ttyName': '?'}, '1767': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1768': {'totalActiveTime': 733, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'StpTopology', 'state': 'S', 'ttyName': '?'}, '1773': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netns --agenttitle=Acl --demuxerOpts=305296588459,301639833561,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl', 'state': 'S', 'ttyName': '?'}, '1777': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1778': {'totalActiveTime': 1641, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'Acl', 'state': 'S', 'ttyName': '?'}, '1790': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=Stp --demuxerOpts=305473916024,305413789947,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp', 'state': 'S', 'ttyName': '?'}, '1793': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1794': {'totalActiveTime': 1374, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'Stp', 'state': 'S', 'ttyName': '?'}, '1811': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=KernelNetworkInfo --demuxerOpts=309631584027,309381913189,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1813': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1816': {'totalActiveTime': 342, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1819': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=McastCommon6 --demuxerOpts=309865727193,309723632318,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6', 'state': 'S', 'ttyName': '?'}, '1820': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1822': {'totalActiveTime': 728, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'McastCommon6', 'state': 'S', 'ttyName': '?'}, '1830': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netns --agenttitle=LacpTxAgent --demuxerOpts=313593113413,309953840906,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1834': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1837': {'totalActiveTime': 739, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1850': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netns --agenttitle=Arp --demuxerOpts=314118913201,313693882645,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp', 'state': 'S', 'ttyName': '?'}, '1852': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1854': {'totalActiveTime': 1138, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'Arp', 'state': 'S', 'ttyName': '?'}, '1872': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netns --agenttitle=KernelFib --demuxerOpts=314295268017,314276868472,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib', 'state': 'S', 'ttyName': '?'}, '1873': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1875': {'totalActiveTime': 735, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'KernelFib', 'state': 'S', 'ttyName': '?'}, '1882': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netns --agenttitle=Qos --demuxerOpts=318150424387,318144860272,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos', 'state': 'S', 'ttyName': '?'}, '1883': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1884': {'totalActiveTime': 840, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'Qos', 'state': 'S', 'ttyName': '?'}, '1887': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netns --agenttitle=Thermostat --demuxerOpts=318469770561,318468274840,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat', 'state': 'S', 'ttyName': '?'}, '1888': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1889': {'totalActiveTime': 341, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'Thermostat', 'state': 'S', 'ttyName': '?'}, '1892': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netns --agenttitle=L2Rib --demuxerOpts=322522479134,322385632691,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib', 'state': 'S', 'ttyName': '?'}, '1896': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1898': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=TopoAgent --demuxerOpts=326605383165,326604902657,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled', 'state': 'S', 'ttyName': '?'}, '1899': {'totalActiveTime': 340, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'L2Rib', 'state': 'S', 'ttyName': '?'}, '1900': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1901': {'totalActiveTime': 704, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'TopoAgent', 'state': 'S', 'ttyName': '?'}, '1903': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=PowerFuse --demuxerOpts=326894071252,326715955598,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse', 'state': 'S', 'ttyName': '?'}, '1905': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1909': {'totalActiveTime': 290, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'PowerFuse', 'state': 'S', 'ttyName': '?'}, '1914': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=PowerManager --demuxerOpts=327071699135,326953747273,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager', 'state': 'S', 'ttyName': '?'}, '1918': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1922': {'totalActiveTime': 290, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'PowerManager', 'state': 'S', 'ttyName': '?'}, '1929': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=Ebra --demuxerOpts=327151350040,327147282764,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra', 'state': 'S', 'ttyName': '?'}, '1935': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1939': {'totalActiveTime': 1018, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'Ebra', 'state': 'S', 'ttyName': '?'}, '1947': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netns --agenttitle=ReloadCauseAgent --demuxerOpts=331154170429,330747269552,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1948': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1951': {'totalActiveTime': 292, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1957': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netns --agenttitle=SharedSecretProfile --demuxerOpts=331232223925,331231692014,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1961': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1964': {'totalActiveTime': 292, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1967': {'totalActiveTime': 740, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'IgmpSnooping', 'state': 'S', 'ttyName': '?'}, '1984': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netns --agenttitle=StaticRoute --demuxerOpts=335195923420,335185191889,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled', 'state': 'S', 'ttyName': '?'}, '1985': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1986': {'totalActiveTime': 343, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'StaticRoute', 'state': 'S', 'ttyName': '?'}, '1990': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netns --agenttitle=IpRib --demuxerOpts=335500217122,335274316065,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled', 'state': 'S', 'ttyName': '?'}, '1991': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2009': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netns --agenttitle=BgpCliHelper --demuxerOpts=335591889667,335586171622,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled', 'state': 'S', 'ttyName': '?'}, '2012': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2015': {'totalActiveTime': 348, 'memPct': 1.9, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'BgpCliHelper', 'state': 'S', 'ttyName': '?'}, '2025': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netns --agenttitle=ConnectedRoute --demuxerOpts=339572209152,339402675873,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '2027': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2028': {'totalActiveTime': 742, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '2030': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netns --agenttitle=RouteInput --demuxerOpts=340013863328,339680435197,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput', 'state': 'S', 'ttyName': '?'}, '2031': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2032': {'totalActiveTime': 344, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'RouteInput', 'state': 'S', 'ttyName': '?'}, '2033': {'totalActiveTime': 1636, 'memPct': 2.3, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'Bgp', 'state': 'Sl', 'ttyName': '?'}, '2040': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netns --agenttitle=Sfe --demuxerOpts=344444576369,344061658149,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe', 'state': 'S', 'ttyName': '?'}, '2045': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2303': {'totalActiveTime': 28, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': '/usr/sbin/rsyslogd -n', 'state': 'Ssl', 'ttyName': '?'}, '2369': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281546.0, 'cmd': '/usr/sbin/dnsmasq', 'state': 'S', 'ttyName': '?'}, '2630': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': 'netns --agenttitle=LicenseManager --demuxerOpts=395217769752,395217285612,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager', 'state': 'S', 'ttyName': '?'}, '2631': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2632': {'totalActiveTime': 292, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': 'LicenseManager', 'state': 'S', 'ttyName': '?'}, '2635': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': '/usr/bin/conlogd', 'state': 'S', 'ttyName': '?'}, '2636': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': '/sbin/mingetty --noclear /dev/ttyS0', 'state': 'Ss+', 'ttyName': 'ttyS0'}, '2637': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': '/sbin/agetty --noclear tty1 linux', 'state': 'Ss+', 'ttyName': 'tty1'}, '2645': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': "sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2635 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'", 'state': 'S', 'ttyName': '?'}, '2648': {'totalActiveTime': 55, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': '/usr/bin/tail -n 0 --retry --follow=name --pid=2635 /var/log/eos-console', 'state': 'S', 'ttyName': '?'}, '2649': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': 'sed s/\\(.*\\)/\\1\\r/', 'state': 'S', 'ttyName': '?'}, '2691': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281556.0, 'cmd': '[SuperServer] <defunct>', 'state': 'Zs', 'ttyName': '?'}, '2718': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281557.0, 'cmd': 'netns --agenttitle=Ipsec --demuxerOpts=417010822932,417010338793,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec', 'state': 'S', 'ttyName': '?'}, '2720': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281557.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2721': {'totalActiveTime': 2110, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281557.0, 'cmd': 'Ipsec', 'state': 'S', 'ttyName': '?'}, '2723': {'totalActiveTime': 1, 'memPct': 0.4, 'cpuPct': 0.0, 'startTime': 1597281557.0, 'cmd': 'dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1', 'state': 'Ss', 'ttyName': '?'}, '2750': {'totalActiveTime': 83, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281559.0, 'cmd': 'ntpd -u ntp:ntp -g -p /var/run/ntpd.pid', 'state': 'Ssl', 'ttyName': '?'}, '2753': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281562.0, 'cmd': 'fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc', 'state': 'Ss', 'ttyName': '?'}, '3323': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281717.0, 'cmd': '/usr/libexec/strongswan/starter --daemon charon', 'state': 'Ss', 'ttyName': '?'}, '3325': {'totalActiveTime': 126, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281717.0, 'cmd': '/usr/libexec/strongswan/charon --use-syslog', 'state': 'Ssl', 'ttyName': '?'}, '12495': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1598897705.0, 'cmd': '/bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh', 'state': 'S', 'ttyName': '?'}, '13396': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599667620.0, 'cmd': '[kworker/0:0]', 'state': 'S', 'ttyName': '?'}, '16265': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668341.0, 'cmd': '[kworker/0:2]', 'state': 'S', 'ttyName': '?'}, '18653': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597436394.0, 'cmd': 'netns --agenttitle=CapiApp --demuxerOpts=665436806498288,665436806007998,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini', 'state': 'S', 'ttyName': '?'}, '18654': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597436394.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '18655': {'totalActiveTime': 375, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597436394.0, 'cmd': 'CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Sl', 'ttyName': '?'}, '18699': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597436395.0, 'cmd': 'nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;', 'state': 'Ss', 'ttyName': '?'}, '18701': {'totalActiveTime': 107, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597436395.0, 'cmd': 'nginx: worker process ', 'state': 'S', 'ttyName': '?'}, '18917': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668700.0, 'cmd': '[kworker/0:1]', 'state': 'S', 'ttyName': '?'}, '22344': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669061.0, 'cmd': '[kworker/0:3]', 'state': 'S', 'ttyName': '?'}, '22359': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669061.0, 'cmd': '[kworker/0:4]', 'state': 'S', 'ttyName': '?'}, '23589': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669162.0, 'cmd': 'sshd: root [net] ', 'state': 'S', 'ttyName': '?'}, '23845': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669170.0, 'cmd': 'ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww', 'state': 'Rs', 'ttyName': '?'}}, 'timeInfo': {'upTime': 2387710.91, 'loadAvg': [2.12, 1.81, 1.49], 'users': 0, 'currentTime': 1599669171.798803}}, 'text': " 16:32:52 up 27 days, 15:15, 0 users, load average: 2.12, 1.81, 1.49\n PID %CPU %MEM TT STAT STARTED TIME CMD\n 2051 101 3.4 ? Sl Aug 13 28-00:35:44 Sfe\n 1720 2.4 1.8 ? Sl Aug 13 15:58:37 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.12.101 -taillogs -grpcaddr=0.0.0.0:6042\n12509 0.5 0.7 ? SNl Aug 31 01:15:14 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config\n23586 0.5 0.1 ? Ss 16:32:42 00:00:00 sshd: root [priv] \n 1571 0.3 7.1 ? Sl Aug 13 02:05:49 ConfigAgent\n 1296 0.2 0.9 ? S Aug 13 01:32:30 ProcMgr-worker\n 1529 0.2 2.6 ? S Aug 13 01:36:43 Sysdb\n 1735 0.1 1.7 ? S Aug 13 00:49:00 SuperServer\n 1759 0.1 1.0 ? S Aug 13 01:17:06 AgentMonitor\n 1992 0.1 1.6 ? S Aug 13 00:46:16 IpRib\n 1 0.0 0.0 ? Ss Aug 13 00:06:04 /sbin/init\n 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd]\n 3 0.0 0.0 ? S Aug 13 00:00:12 [ksoftirqd/0]\n 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H]\n 7 0.0 0.0 ? S Aug 13 00:00:17 [rcu_preempt]\n 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched]\n 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh]\n 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0]\n 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain]\n 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0]\n 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0]\n 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1]\n 15 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/1]\n 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1]\n 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1]\n 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0]\n 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H]\n 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2]\n 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2]\n 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2]\n 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2]\n 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0]\n 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H]\n 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3]\n 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3]\n 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3]\n 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3]\n 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0]\n 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H]\n 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs]\n 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns]\n 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd]\n 35 0.0 0.0 ? S Aug 13 00:00:14 [khungtaskd2]\n 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper]\n 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback]\n 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0]\n 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto]\n 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd]\n 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd]\n 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff]\n 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller]\n 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task]\n 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd]\n 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd]\n 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl]\n 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod]\n 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod]\n 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0]\n 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat]\n 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod]\n 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd]\n 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme]\n 73 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:1]\n 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd]\n 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf]\n 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq]\n 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-]\n 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver]\n 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H]\n 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0]\n 387 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd\n 414 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f\n 497 0.0 0.0 ? S< Aug 13 00:00:00 [ena]\n 705 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1]\n 734 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground\n 738 0.0 0.0 ? Ss Aug 13 00:02:52 /usr/lib/systemd/systemd-logind\n 740 0.0 0.1 ? Ss Aug 13 00:04:31 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation\n 752 0.0 0.0 ? Ss Aug 13 00:00:52 /usr/bin/ProcMonitor\n 796 0.0 0.0 ? Ss Aug 13 00:00:05 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid\n 811 0.0 0.0 ? S<s Aug 13 00:00:21 /usr/bin/wdogdev -t 60\n 820 0.0 0.0 ? Ss Aug 13 00:00:16 /usr/sbin/crond -n\n 867 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:3]\n 976 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local\n 977 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1007 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys\n 1008 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1025 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure\n 1026 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil\n 1029 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1054 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon\n 1169 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1170 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1204 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm\n 1267 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1269 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1295 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master\n 1468 0.0 0.0 ? S Aug 13 00:09:19 /usr/bin/EosOomAdjust\n 1476 0.0 0.0 ? S Aug 13 00:00:01 [rbfd_vrf_cleanu]\n 1491 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid\n 1528 0.0 0.0 ? S Aug 13 00:02:07 /usr/bin/SlabMonitor\n 1570 0.0 1.2 ? S Aug 13 00:04:49 StageMgr\n 1575 0.0 1.4 ? S Aug 13 00:11:32 Fru\n 1576 0.0 1.8 ? S Aug 13 00:04:48 Launcher\n 1696 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=283510534772,283510025210,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp\n 1697 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1698 0.0 1.2 ? S Aug 13 00:17:41 Lldp\n 1703 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=283625389593,283557152987,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon\n 1704 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1706 0.0 1.2 ? S Aug 13 00:12:09 McastCommon\n 1708 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=283790275633,283680080063,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec\n 1709 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H]\n 1712 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1713 0.0 1.2 ? S Aug 13 00:13:21 PortSec\n 1727 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=284244580020,284069179516,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd\n 1728 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1729 0.0 1.4 ? S Aug 13 00:13:15 Bfd\n 1732 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=288276526737,288091282802,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag\n 1733 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1734 0.0 1.3 ? S Aug 13 00:28:58 Lag\n 1739 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=292170530223,292160868939,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira\n 1740 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1741 0.0 1.5 ? S Aug 13 00:12:19 Ira\n 1742 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=296430530784,292790029349,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy\n 1743 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1744 0.0 1.2 ? S Aug 13 00:15:06 LedPolicy\n 1746 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=296679631718,296505735315,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr\n 1747 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1748 0.0 1.3 ? S Aug 13 00:17:20 EventMgr\n 1749 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=296966020071,296758072413,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx\n 1750 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1751 0.0 1.2 ? S Aug 13 00:37:31 StpTxRx\n 1754 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=297230697565,297031996334,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld\n 1755 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1756 0.0 1.1 ? S Aug 13 00:04:51 StandbyCpld\n 1757 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=300703577697,297318029615,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor\n 1758 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1761 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=300917240606,300815189647,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel\n 1762 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1763 0.0 1.2 ? S Aug 13 00:07:39 Tunnel\n 1764 0.0 1.5 ? Sl Aug 13 00:12:38 Aaa\n 1766 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=301455121817,301267954454,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology\n 1767 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1768 0.0 1.2 ? S Aug 13 00:12:13 StpTopology\n 1773 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=305296588459,301639833561,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl\n 1777 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1778 0.0 1.4 ? S Aug 13 00:27:21 Acl\n 1790 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=305473916024,305413789947,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp\n 1793 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1794 0.0 1.1 ? S Aug 13 00:22:54 Stp\n 1811 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=309631584027,309381913189,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo\n 1813 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1816 0.0 1.1 ? S Aug 13 00:05:42 KernelNetworkInfo\n 1819 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=309865727193,309723632318,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6\n 1820 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1822 0.0 1.2 ? S Aug 13 00:12:08 McastCommon6\n 1830 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=313593113413,309953840906,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent\n 1834 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1837 0.0 1.2 ? S Aug 13 00:12:19 LacpTxAgent\n 1850 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=314118913201,313693882645,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp\n 1852 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1854 0.0 1.5 ? S Aug 13 00:18:58 Arp\n 1872 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=314295268017,314276868472,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib\n 1873 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1875 0.0 1.4 ? S Aug 13 00:12:15 KernelFib\n 1882 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=318150424387,318144860272,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos\n 1883 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1884 0.0 1.2 ? S Aug 13 00:14:00 Qos\n 1887 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=318469770561,318468274840,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat\n 1888 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1889 0.0 1.1 ? S Aug 13 00:05:41 Thermostat\n 1892 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=322522479134,322385632691,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib\n 1896 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1898 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=326605383165,326604902657,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled\n 1899 0.0 1.2 ? S Aug 13 00:05:40 L2Rib\n 1900 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1901 0.0 1.2 ? S Aug 13 00:11:44 TopoAgent\n 1903 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=326894071252,326715955598,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse\n 1905 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1909 0.0 1.1 ? S Aug 13 00:04:50 PowerFuse\n 1914 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=327071699135,326953747273,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager\n 1918 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1922 0.0 1.1 ? S Aug 13 00:04:50 PowerManager\n 1929 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=327151350040,327147282764,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra\n 1935 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1939 0.0 1.4 ? S Aug 13 00:16:58 Ebra\n 1947 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=331154170429,330747269552,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent\n 1948 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1951 0.0 1.1 ? S Aug 13 00:04:52 ReloadCauseAgent\n 1957 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=331232223925,331231692014,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile\n 1961 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1964 0.0 1.1 ? S Aug 13 00:04:52 SharedSecretProfile\n 1967 0.0 1.5 ? S Aug 13 00:12:20 IgmpSnooping\n 1984 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=335195923420,335185191889,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled\n 1985 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1986 0.0 1.3 ? S Aug 13 00:05:43 StaticRoute\n 1990 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=335500217122,335274316065,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled\n 1991 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2009 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=335591889667,335586171622,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled\n 2012 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2015 0.0 1.9 ? S Aug 13 00:05:48 BgpCliHelper\n 2025 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=339572209152,339402675873,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute\n 2027 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2028 0.0 1.3 ? S Aug 13 00:12:22 ConnectedRoute\n 2030 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=340013863328,339680435197,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput\n 2031 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2032 0.0 1.3 ? S Aug 13 00:05:44 RouteInput\n 2033 0.0 2.3 ? Sl Aug 13 00:27:16 Bgp\n 2040 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=344444576369,344061658149,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe\n 2045 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2303 0.0 0.0 ? Ssl Aug 13 00:00:28 /usr/sbin/rsyslogd -n\n 2369 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq\n 2630 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=395217769752,395217285612,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager\n 2631 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2632 0.0 1.1 ? S Aug 13 00:04:52 LicenseManager\n 2635 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd\n 2636 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0\n 2637 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux\n 2645 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2635 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'\n 2648 0.0 0.0 ? S Aug 13 00:00:55 /usr/bin/tail -n 0 --retry --follow=name --pid=2635 /var/log/eos-console\n 2649 0.0 0.0 ? S Aug 13 00:00:00 sed s/\\(.*\\)/\\1\\r/\n 2691 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct>\n 2718 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=417010822932,417010338793,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec\n 2720 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2721 0.0 1.2 ? S Aug 13 00:35:10 Ipsec\n 2723 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1\n 2750 0.0 0.1 ? Ssl Aug 13 00:01:23 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid\n 2753 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc\n 3323 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon\n 3325 0.0 0.1 ? Ssl Aug 13 00:02:06 /usr/libexec/strongswan/charon --use-syslog\n12495 0.0 0.0 ? S Aug 31 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh\n13396 0.0 0.0 ? S 16:07:00 00:00:00 [kworker/0:0]\n16265 0.0 0.0 ? S 16:19:01 00:00:00 [kworker/0:2]\n18653 0.0 0.0 ? S Aug 14 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=665436806498288,665436806007998,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini\n18654 0.0 0.3 ? Ss Aug 14 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n18655 0.0 1.3 ? Sl Aug 14 00:06:15 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n18699 0.0 0.0 ? Ss Aug 14 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;\n18701 0.0 0.1 ? S Aug 14 00:01:47 nginx: worker process \n18917 0.0 0.0 ? S 16:25:00 00:00:00 [kworker/0:1]\n22344 0.0 0.0 ? S 16:31:01 00:00:00 [kworker/0:3]\n22359 0.0 0.0 ? S 16:31:01 00:00:00 [kworker/0:4]\n23589 0.0 0.0 ? S 16:32:42 00:00:00 sshd: root [net] \n23851 0.0 0.0 ? S 16:32:50 00:00:00 sshd: root [pam] \n23862 0.0 0.0 ? Rs 16:32:51 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww\n23864 0.0 0.0 ? Rs 16:32:51 00:00:00 [ConfigAgent]\n"}, 'show running-config section username': {'json': {'output': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'text': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'show aaa counters': {'json': {'authenticationSuccess': 82028, 'authorizationAllowed': 721, 'accountingSuccess': 0, 'pendingAccountingRequests': 0, 'authorizationDenied': 0, 'authenticationFail': 1, 'authenticationUnavailable': 96, 'accountingError': 0, 'authorizationUnavailable': 0}, 'text': 'Authentication\n Successful: 82030\n Failed: 1\n Service unavailable: 96\n\nAuthorization\n Allowed: 721\n Denied: 0\n Service unavailable: 0\n\nAccounting\n Successful: 0\n Error: 0\n Pending: 0\n\nLast time counters were cleared: never\n'}, 'show users detail': {'json': {'serials': {}, 'nonInteractives': {'82142': {'username': 'kgrozis', 'state': 'established', 'sessionStartTime': 1599669160, 'role': '', 'service': 'commandApi', 'authMethod': 'local'}}, 'vtys': {}}, 'text': 'Session Username Roles TTY State Duration Auth Remote Host \n-------- --------- ------- ------------- ------- ---------- ------- ----------- \n82142 kgrozis command-api E 0:00:14 local \n'}, 'show aaa methods all': {'json': {'authorization': {'commandsAuthzMethods': {'privilege0-15': {'methods': ['none']}}, 'execAuthzMethods': {'exec': {'methods': ['none']}}}, 'authentication': {'loginAuthenMethods': {'default': {'methods': ['local']}}, 'dot1xAuthenMethods': {'default': {'methods': []}}, 'enableAuthenMethods': {'default': {'methods': ['local']}}}, 'accounting': {'systemAcctMethods': {'system': {'defaultMethods': [], 'consoleMethods': []}}, 'execAcctMethods': {'exec': {'defaultMethods': [], 'consoleMethods': []}}, 'commandsAcctMethods': {'privilege0-15': {'defaultMethods': [], 'consoleMethods': []}}, 'dot1xAcctMethods': {'dot1x': {'defaultMethods': [], 'consoleMethods': []}}}}, 'text': 'Authentication method lists for LOGIN:\n name=default methods=local\nAuthentication method list for ENABLE:\n name=default methods=local\nAuthentication method list for DOT1X:\n name=default methods=\nAuthorization method lists for COMMANDS:\n name=privilege0-15 methods=none\nAuthorization method list for EXEC:\n name=exec methods=none\nAccounting method lists for COMMANDS:\n name=privilege0-15 default-action=none\nAccounting method list for EXEC:\n name=exec default-action=none\nAccounting method list for SYSTEM:\n name=system default-action=none\nAccounting method list for DOT1X:\n name=dot1x default-action=none\n'}, 'show ntp status': {'json': {'status': 'synchronised', 'pollingInterval': 512, 'stratum': 4, 'maxEstimatedError': 21, 'server': '169.254.169.123'}, 'text': 'synchronised to NTP server (169.254.169.123) at stratum 4\n time correct to within 21 ms\n polling server every 512 s\n\n'}, 'show ntp associations': {'json': {'peers': {'169.254.169.123': {'delay': 0.136, 'jitter': 0.311, 'lastReceived': 1599668836.0, 'peerType': 'local', 'reachabilityHistory': [True, True, True, True, True, True, True, True], 'condition': 'sys.peer', 'offset': -1.768, 'peerIpAddr': '169.254.169.123', 'pollInterval': 512, 'refid': '169.254.169.122', 'stratumLevel': 3}}}, 'text': ' remote refid st t when poll reach delay offset jitter\n==============================================================================\n*169.254.169.123 169.254.169.12 3 l 341 512 377 0.136 -1.768 0.311\n'}, 'show daemon': {'json': {'daemons': {'TerminAttr': {'running': True, 'option': {}, 'starttime': 1597281527.471623, 'pid': 1720, 'enabled': True, 'uptime': 2387650.41, 'data': {}, 'isSdkAgent': False}}}, 'text': 'Process: TerminAttr (running with PID 1720)\nUptime: 27 days, 15:14:10 (Start time: Thu Aug 13 01:18:47 2020)\nNo configuration options stored.\n\nNo status data stored.\n\n'}, 'show zerotouch': {'json': {'mode': 'disabled', 'scriptTimeout': 900}, 'text': '\nZeroTouch Mode: Disabled\nScript Exec Timeout: 900\n'}, 'dir flash:zerotouch-config': {'json': {'messages': ['Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7293403136 bytes free)\n']}, 'text': 'Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7293403136 bytes free)\n'}, 'show system environment temperature': {'json': {'cardSlots': [], 'powerSupplySlots': [], 'shutdownOnOverheat': True, 'tempSensors': [], 'systemStatus': 'unknownTemperatureAlarmLevel'}, 'text': 'System temperature status is: Unknown\n'}, 'show system environment cooling': {'json': {'overrideFanSpeed': 0, 'coolingMode': 'automatic', 'powerSupplySlots': [], 'fanTraySlots': [], 'minFanSpeed': 0, 'shutdownOnInsufficientFans': True, 'systemStatus': 'unknownCoolingAlarmLevel', 'airflowDirection': 'unknownAirflowDirection'}, 'text': 'System cooling status is: Unknown\nAmbient temperature: Unknown\n Config Actual Speed Stable\nFan Status Speed Speed Uptime Stability Uptime\n--- ------ ------ ------ ------ --------- ------\n'}, 'show management api http-commands': {'json': {'httpServer': {'running': False, 'configured': False, 'port': 80}, 'users': {'kgrozis': {'requestCount': 75244, 'bytesOut': 194453586, 'lastHitTime': 1599669179.8044221, 'bytesIn': 12163312}}, 'bytesOut': 194453586, 'logLevel': 'none', 'dscpValue': 0, 'corsOrigins': [], 'hitCount': 80147, 'vrf': 'default', 'lastHitTime': 1599669179.8043664, 'tlsProtocol': ['1.0', '1.1', '1.2'], 'localHttpServer': {'running': False, 'configured': False, 'port': 8080}, 'executionTime': 7847.868233990972, 'enabled': True, 'fipsEnabled': False, 'httpsServer': {'running': True, 'configured': True, 'port': 443}, 'requestCount': 75244, 'vrfs': ['default'], 'urls': ['Ethernet1 : https://11.201.12.101:443', 'Ethernet100 : https://11.201.8.1:443', 'Loopback0 : https://11.201.0.2:443', 'Loopback10 : https://198.18.0.36:443'], 'unixSocketServer': {'running': False, 'configured': False}, 'bytesIn': 12163312, 'commandCount': 150488, 'iframeAncestors': []}, 'text': 'Enabled: Yes\nHTTPS server: running, set to use port 443\nHTTP server: shutdown, set to use port 80\nLocal HTTP server: shutdown, no authentication, set to use port 8080\nUnix Socket server: shutdown, no authentication\nVRFs: default\nHits: 80151\nLast hit: 0 seconds ago\nBytes in: 12163907\nBytes out: 194465833\nRequests: 75248\nCommands: 150496\nDuration: 7848.120 seconds\nSSL Profile: none\nFIPS Mode: No\nQoS DSCP: 0\nLog Level: none\nCSP Frame Ancestor: None\nTLS Protocols: 1.0 1.1 1.2\n User Requests Bytes in Bytes out Last hit \n------------- -------------- -------------- --------------- ------------- \n kgrozis 75248 12163907 194465833 0 seconds ago \n\nURLs \n--------------------------------------- \nEthernet1 : https://11.201.12.101:443 \nEthernet100 : https://11.201.8.1:443 \nLoopback0 : https://11.201.0.2:443 \nLoopback10 : https://198.18.0.36:443 \n\n'}, 'show tacacs': {'json': {'tacacsServers': [], 'groups': {}, 'srcIntf': {}, 'lastCounterClearTime': 0.0}, 'text': '\nLast time counters were cleared: never\n'}, 'show logging': {'json': {'output': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:20 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:20 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:26 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:29 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:29 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:35 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:11 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:13 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:19 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:43 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:45 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:51 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:38 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:39 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:45 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:41 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:42 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:48 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:07 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:15 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:15 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}, 'text': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:20 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:20 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:26 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:29 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:29 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:35 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:11 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:13 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:19 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:43 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:45 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:51 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:38 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:39 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:45 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:41 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:42 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:48 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:07 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:15 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:15 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}}} test_name: test_if_files_on_ test_parameters: {'parameters': {'show_log': 'show_output.log'}} INFO root:tests_tools.py:250 Return model data and text output from show commands and log text output for show file information flash:startup-config with connnection Node(connection=EapiConnection(transport=https://3.22.137.44:443//command-api)) INFO root:tests_tools.py:254 Raw json output of show file information flash:startup-config on dut kg-topology-CloudEosRR1: [{'command': 'show file information flash:startup-config', 'result': {'isDir': False, 'path': 'flash:/startup-config', 'fileName': '/mnt/flash/startup-config'}, 'encoding': 'json'}] INFO root:tests_tools.py:257 Raw text output of show file information flash:startup-config on dut kg-topology-CloudEosRR1: [{'output': 'flash:/startup-config:\n type is file\n'}] INFO root:tests_tools.py:311 Open log file for logging test show commands INFO root:tests_tools.py:315 Opening file show_output.log and append show output: flash:/startup-config: type is file INFO root:test_filesystem.py:80 WHEN flash:startup-config file isDir state is |False| INFO root:test_filesystem.py:84 THEN test case result is |True| INFO root:test_filesystem.py:85 OUTPUT of |show file information flash:startup-config| is : [{'output': 'flash:/startup-config:\n type is file\n'}] INFO root:test_filesystem.py:70 TEST is flash:veos-config file present on |kg-topology-CloudEosRR1| INFO root:test_filesystem.py:71 GIVEN expected flash:veos-config isDir state: |False| INFO root:tests_tools.py:245 Raw Input for return_show_cmd show_cmd: show file information flash:veos-config dut: {'connection': Node(connection=EapiConnection(transport=https://3.22.137.44:443//command-api)), 'name': 'kg-topology-CloudEosRR1', 'output': {'interface_list': [{'hostname': 'kg-topology-CloudEosRR1', 'interface_name': 'Ethernet1', 'z_hostname': 'leaf01', 'z_interface_name': 'Ethernet2', 'media_type': ''}], 'show interfaces status': {'json': {'interfaceStatuses': {'Ethernet100': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 10000000000, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet1': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}}}, 'text': 'Port Name Status Vlan Duplex Speed Type Flags Encapsulation\nEt1 connected routed full unconf 10/100/1000 \nEt100 connected routed full 10G 10/100/1000 \n\n'}, 'show interfaces phy detail': {'json': {'interfacePhyStatuses': {}}, 'text': ''}, 'show hostname': {'json': {'fqdn': 'kg-topology-CloudEosRR1', 'hostname': 'kg-topology-CloudEosRR1'}, 'text': 'Hostname: kg-topology-CloudEosRR1\nFQDN: kg-topology-CloudEosRR1\n'}, 'show extensions': {'json': {'extensions': {'awslogs.swix': {'status': 'installed', 'vendor': 'Amazon <UNKNOWN>', 'description': ' awsclicwlogs This awscli plugin provides the pull, push and filter commands to\naccess AWS CloudWatch Logs service. The awsclicwlogs package works on Python\nversions:* 2.6.5 and greater * 2.7.x and greater * 3.3.x and greater\nInstallation The easiest way to install awsclicwlogs is to use pip_:: $ pip\ninstall awsclicwlogsor, if you are not installing in a virtualenv:: $ sudo pip\ninstall ...', 'presence': 'present', 'rpms': {'awslogs.noarch.rpm': {'release': '1.el7', 'version': '1.4.0'}}, 'summary': 'AWSCLI CloudWatch Logs plugin', 'version': '1.4.0', 'numRpms': 1, 'error': False, 'release': '1.el7', 'installedSize': 23414055}, 'awsha.rpm': {'status': 'installed', 'vendor': '', 'description': 'Aws HA', 'presence': 'present', 'rpms': {'awsha.rpm': {'release': '1', 'version': '0.1.1'}}, 'summary': 'Aws HA', 'version': '0.1.1', 'numRpms': 1, 'error': False, 'release': '1', 'installedSize': 10073042}}}, 'text': 'Name Version/Release Status Extension\n----------------- -------------------- ----------- ---------\nawsha.rpm 0.1.1/1 A, I 1 \nawslogs.swix 1.4.0/1.el7 A, I 1 \n\n\nA: available | NA: not available | I: installed | NI: not installed | F: forced\nS: valid signature | NS: invalid signature\n'}, 'show version': {'json': {'memTotal': 7761392, 'uptime': 2387710.35, 'modelName': 'vEOS', 'internalVersion': '4.23.1F-cloud-16179785.jakartarel', 'mfgName': 'Arista', 'serialNumber': '9B112703F293F47ADC3EE25318457B64', 'systemMacAddress': '02:46:bb:59:d5:ae', 'bootupTimestamp': 1597281461.0, 'memFree': 2971700, 'version': '4.23.1F-cloud-16179785.jakartarel (engineering build)', 'configMacAddress': '00:00:00:00:00:00', 'isIntlVersion': False, 'internalBuildId': '6bc96200-86c1-4e86-bed7-8280a6802809', 'hardwareRevision': '', 'hwMacAddress': '00:00:00:00:00:00', 'architecture': 'x86_64'}, 'text': 'Arista vEOS\nHardware version: \nSerial number: 9B112703F293F47ADC3EE25318457B64\nSystem MAC address: 0246.bb59.d5ae\n\nSoftware image version: 4.23.1F-cloud-16179785.jakartarel (engineering build)\nArchitecture: x86_64\nInternal build version: 4.23.1F-cloud-16179785.jakartarel\nInternal build ID: 6bc96200-86c1-4e86-bed7-8280a6802809\n\nUptime: 3 weeks, 6 days, 15 hours and 15 minutes\nTotal memory: 7761392 kB\nFree memory: 2959400 kB\n\n'}, 'show processes': {'json': {'processes': {'2051': {'totalActiveTime': 2421343, 'memPct': 3.4, 'cpuPct': 101.0, 'startTime': 1597281541.0, 'cmd': 'Sfe', 'state': 'Sl', 'ttyName': '?'}, '1720': {'totalActiveTime': 57517, 'memPct': 1.8, 'cpuPct': 2.4, 'startTime': 1597281526.0, 'cmd': '/usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.12.101 -taillogs -grpcaddr=0.0.0.0:6042', 'state': 'Sl', 'ttyName': '?'}, '23586': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.6, 'startTime': 1599669162.0, 'cmd': 'sshd: root [priv] ', 'state': 'Ss', 'ttyName': '?'}, '12509': {'totalActiveTime': 4514, 'memPct': 0.7, 'cpuPct': 0.5, 'startTime': 1598897706.0, 'cmd': 'python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config', 'state': 'SNl', 'ttyName': '?'}, '1571': {'totalActiveTime': 7549, 'memPct': 7.1, 'cpuPct': 0.3, 'startTime': 1597281504.0, 'cmd': 'ConfigAgent', 'state': 'Sl', 'ttyName': '?'}, '1296': {'totalActiveTime': 5550, 'memPct': 0.9, 'cpuPct': 0.2, 'startTime': 1597281487.0, 'cmd': 'ProcMgr-worker', 'state': 'S', 'ttyName': '?'}, '1529': {'totalActiveTime': 5803, 'memPct': 2.6, 'cpuPct': 0.2, 'startTime': 1597281501.0, 'cmd': 'Sysdb', 'state': 'S', 'ttyName': '?'}, '1735': {'totalActiveTime': 2940, 'memPct': 1.7, 'cpuPct': 0.1, 'startTime': 1597281528.0, 'cmd': 'SuperServer', 'state': 'S', 'ttyName': '?'}, '1759': {'totalActiveTime': 4626, 'memPct': 1.0, 'cpuPct': 0.1, 'startTime': 1597281530.0, 'cmd': 'AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1992': {'totalActiveTime': 2776, 'memPct': 1.6, 'cpuPct': 0.1, 'startTime': 1597281538.0, 'cmd': 'IpRib', 'state': 'S', 'ttyName': '?'}, '1': {'totalActiveTime': 364, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '/sbin/init', 'state': 'Ss', 'ttyName': '?'}, '2': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kthreadd]', 'state': 'S', 'ttyName': '?'}, '3': {'totalActiveTime': 12, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ksoftirqd/0]', 'state': 'S', 'ttyName': '?'}, '5': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/0:0H]', 'state': 'S<', 'ttyName': '?'}, '7': {'totalActiveTime': 17, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[rcu_preempt]', 'state': 'S', 'ttyName': '?'}, '8': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[rcu_sched]', 'state': 'S', 'ttyName': '?'}, '9': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[rcu_bh]', 'state': 'S', 'ttyName': '?'}, '10': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[migration/0]', 'state': 'S', 'ttyName': '?'}, '11': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[lru-add-drain]', 'state': 'S<', 'ttyName': '?'}, '12': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[watchdog/0]', 'state': 'S', 'ttyName': '?'}, '13': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[cpuhp/0]', 'state': 'S', 'ttyName': '?'}, '14': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[cpuhp/1]', 'state': 'S', 'ttyName': '?'}, '15': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[watchdog/1]', 'state': 'S', 'ttyName': '?'}, '16': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[migration/1]', 'state': 'S', 'ttyName': '?'}, '17': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ksoftirqd/1]', 'state': 'S', 'ttyName': '?'}, '18': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/1:0]', 'state': 'S', 'ttyName': '?'}, '19': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/1:0H]', 'state': 'S<', 'ttyName': '?'}, '20': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[cpuhp/2]', 'state': 'S', 'ttyName': '?'}, '21': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[watchdog/2]', 'state': 'S', 'ttyName': '?'}, '22': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[migration/2]', 'state': 'S', 'ttyName': '?'}, '23': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ksoftirqd/2]', 'state': 'S', 'ttyName': '?'}, '24': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/2:0]', 'state': 'S', 'ttyName': '?'}, '25': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/2:0H]', 'state': 'S<', 'ttyName': '?'}, '26': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[cpuhp/3]', 'state': 'S', 'ttyName': '?'}, '27': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[watchdog/3]', 'state': 'S', 'ttyName': '?'}, '28': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[migration/3]', 'state': 'S', 'ttyName': '?'}, '29': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ksoftirqd/3]', 'state': 'S', 'ttyName': '?'}, '30': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/3:0]', 'state': 'S', 'ttyName': '?'}, '31': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/3:0H]', 'state': 'S<', 'ttyName': '?'}, '32': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kdevtmpfs]', 'state': 'S', 'ttyName': '?'}, '33': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[netns]', 'state': 'S<', 'ttyName': '?'}, '34': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[khungtaskd]', 'state': 'S', 'ttyName': '?'}, '35': {'totalActiveTime': 14, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[khungtaskd2]', 'state': 'S', 'ttyName': '?'}, '36': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[oom_reaper]', 'state': 'S', 'ttyName': '?'}, '37': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[writeback]', 'state': 'S<', 'ttyName': '?'}, '38': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kcompactd0]', 'state': 'S', 'ttyName': '?'}, '39': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[crypto]', 'state': 'S<', 'ttyName': '?'}, '40': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kintegrityd]', 'state': 'S<', 'ttyName': '?'}, '41': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '42': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kblockd]', 'state': 'S<', 'ttyName': '?'}, '43': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ata_sff]', 'state': 'S<', 'ttyName': '?'}, '44': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[edac-poller]', 'state': 'S<', 'ttyName': '?'}, '45': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[dst_gc_task]', 'state': 'S', 'ttyName': '?'}, '46': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[watchdogd]', 'state': 'S<', 'ttyName': '?'}, '47': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[arp_cache-prd]', 'state': 'S', 'ttyName': '?'}, '49': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[icmp_unreachabl]', 'state': 'S', 'ttyName': '?'}, '50': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[rpciod]', 'state': 'S<', 'ttyName': '?'}, '51': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[xprtiod]', 'state': 'S<', 'ttyName': '?'}, '52': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kswapd0]', 'state': 'S', 'ttyName': '?'}, '53': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[vmstat]', 'state': 'S<', 'ttyName': '?'}, '54': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[nfsiod]', 'state': 'S<', 'ttyName': '?'}, '63': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[pcielwd]', 'state': 'S<', 'ttyName': '?'}, '64': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '65': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '66': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '67': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '68': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '69': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '70': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '71': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '72': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[nvme]', 'state': 'S<', 'ttyName': '?'}, '73': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/u8:1]', 'state': 'S', 'ttyName': '?'}, '74': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ndisc_cache-prd]', 'state': 'S', 'ttyName': '?'}, '75': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ipv6_addrconf]', 'state': 'S<', 'ttyName': '?'}, '76': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ecc_log_wq]', 'state': 'S<', 'ttyName': '?'}, '124': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '125': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '171': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[jbd2/nvme0n1p1-]', 'state': 'S', 'ttyName': '?'}, '172': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ext4-rsv-conver]', 'state': 'S<', 'ttyName': '?'}, '194': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281461.0, 'cmd': '[kworker/0:1H]', 'state': 'S<', 'ttyName': '?'}, '272': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '[loop0]', 'state': 'S<', 'ttyName': '?'}, '387': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281469.0, 'cmd': '/usr/lib/systemd/systemd-udevd', 'state': 'Ss', 'ttyName': '?'}, '414': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281470.0, 'cmd': '/usr/sbin/lvmetad -f', 'state': 'Ss', 'ttyName': '?'}, '497': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281470.0, 'cmd': '[ena]', 'state': 'S<', 'ttyName': '?'}, '705': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281470.0, 'cmd': '[kworker/1:1]', 'state': 'S', 'ttyName': '?'}, '734': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': '/usr/sbin/mcelog --ignorenodev --daemon --foreground', 'state': 'Ss', 'ttyName': '?'}, '738': {'totalActiveTime': 172, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': '/usr/lib/systemd/systemd-logind', 'state': 'Ss', 'ttyName': '?'}, '740': {'totalActiveTime': 271, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': '/usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation', 'state': 'Ss', 'ttyName': '?'}, '752': {'totalActiveTime': 52, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': '/usr/bin/ProcMonitor', 'state': 'Ss', 'ttyName': '?'}, '796': {'totalActiveTime': 5, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': '/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid', 'state': 'Ss', 'ttyName': '?'}, '811': {'totalActiveTime': 21, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281472.0, 'cmd': '/usr/bin/wdogdev -t 60', 'state': 'S<s', 'ttyName': '?'}, '820': {'totalActiveTime': 16, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281472.0, 'cmd': '/usr/sbin/crond -n', 'state': 'Ss', 'ttyName': '?'}, '867': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281472.0, 'cmd': '[kworker/u8:3]', 'state': 'S', 'ttyName': '?'}, '976': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local', 'state': 'S', 'ttyName': '?'}, '977': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/0'}, '1007': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys', 'state': 'S', 'ttyName': '?'}, '1008': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/1'}, '1025': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure', 'state': 'S', 'ttyName': '?'}, '1026': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': '/usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil', 'state': 'Ss', 'ttyName': '?'}, '1029': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/2'}, '1054': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281475.0, 'cmd': '/bin/bash /usr/sbin/core_annotate_util daemon', 'state': 'Ss', 'ttyName': '?'}, '1169': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281480.0, 'cmd': 'python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1170': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281480.0, 'cmd': '/usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1204': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281480.0, 'cmd': 'inotifywait -e modify /var/lib/rpm', 'state': 'S', 'ttyName': '?'}, '1267': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281486.0, 'cmd': 'netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1269': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281486.0, 'cmd': 'netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1295': {'totalActiveTime': 0, 'memPct': 0.9, 'cpuPct': 0.0, 'startTime': 1597281487.0, 'cmd': 'ProcMgr-master', 'state': 'S', 'ttyName': '?'}, '1468': {'totalActiveTime': 559, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281501.0, 'cmd': '/usr/bin/EosOomAdjust', 'state': 'S', 'ttyName': '?'}, '1476': {'totalActiveTime': 1, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281501.0, 'cmd': '[rbfd_vrf_cleanu]', 'state': 'S', 'ttyName': '?'}, '1491': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281501.0, 'cmd': '/usr/sbin/acpid', 'state': 'Ss', 'ttyName': '?'}, '1528': {'totalActiveTime': 127, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281501.0, 'cmd': '/usr/bin/SlabMonitor', 'state': 'S', 'ttyName': '?'}, '1570': {'totalActiveTime': 289, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281504.0, 'cmd': 'StageMgr', 'state': 'S', 'ttyName': '?'}, '1575': {'totalActiveTime': 692, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281505.0, 'cmd': 'Fru', 'state': 'S', 'ttyName': '?'}, '1576': {'totalActiveTime': 288, 'memPct': 1.8, 'cpuPct': 0.0, 'startTime': 1597281505.0, 'cmd': 'Launcher', 'state': 'S', 'ttyName': '?'}, '1696': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netns --agenttitle=Lldp --demuxerOpts=283510534772,283510025210,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp', 'state': 'S', 'ttyName': '?'}, '1697': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1698': {'totalActiveTime': 1061, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'Lldp', 'state': 'S', 'ttyName': '?'}, '1703': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netns --agenttitle=McastCommon --demuxerOpts=283625389593,283557152987,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon', 'state': 'S', 'ttyName': '?'}, '1704': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1706': {'totalActiveTime': 729, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'McastCommon', 'state': 'S', 'ttyName': '?'}, '1708': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netns --agenttitle=PortSec --demuxerOpts=283790275633,283680080063,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec', 'state': 'S', 'ttyName': '?'}, '1709': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': '[kworker/1:1H]', 'state': 'S<', 'ttyName': '?'}, '1712': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1713': {'totalActiveTime': 801, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'PortSec', 'state': 'S', 'ttyName': '?'}, '1727': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netns --agenttitle=Bfd --demuxerOpts=284244580020,284069179516,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd', 'state': 'S', 'ttyName': '?'}, '1728': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1729': {'totalActiveTime': 795, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'Bfd', 'state': 'S', 'ttyName': '?'}, '1732': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netns --agenttitle=Lag --demuxerOpts=288276526737,288091282802,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag', 'state': 'S', 'ttyName': '?'}, '1733': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1734': {'totalActiveTime': 1738, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'Lag', 'state': 'S', 'ttyName': '?'}, '1739': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netns --agenttitle=Ira --demuxerOpts=292170530223,292160868939,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira', 'state': 'S', 'ttyName': '?'}, '1740': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1741': {'totalActiveTime': 739, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'Ira', 'state': 'S', 'ttyName': '?'}, '1742': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netns --agenttitle=LedPolicy --demuxerOpts=296430530784,292790029349,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy', 'state': 'S', 'ttyName': '?'}, '1743': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1744': {'totalActiveTime': 906, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'LedPolicy', 'state': 'S', 'ttyName': '?'}, '1746': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netns --agenttitle=EventMgr --demuxerOpts=296679631718,296505735315,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr', 'state': 'S', 'ttyName': '?'}, '1747': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1748': {'totalActiveTime': 1040, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'EventMgr', 'state': 'S', 'ttyName': '?'}, '1749': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netns --agenttitle=StpTxRx --demuxerOpts=296966020071,296758072413,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx', 'state': 'S', 'ttyName': '?'}, '1750': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1751': {'totalActiveTime': 2251, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'StpTxRx', 'state': 'S', 'ttyName': '?'}, '1754': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netns --agenttitle=StandbyCpld --demuxerOpts=297230697565,297031996334,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1755': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1756': {'totalActiveTime': 291, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1757': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netns --agenttitle=AgentMonitor --demuxerOpts=300703577697,297318029615,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1758': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1761': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netns --agenttitle=Tunnel --demuxerOpts=300917240606,300815189647,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel', 'state': 'S', 'ttyName': '?'}, '1762': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1763': {'totalActiveTime': 459, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'Tunnel', 'state': 'S', 'ttyName': '?'}, '1764': {'totalActiveTime': 758, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'Aaa', 'state': 'Sl', 'ttyName': '?'}, '1766': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netns --agenttitle=StpTopology --demuxerOpts=301455121817,301267954454,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology', 'state': 'S', 'ttyName': '?'}, '1767': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1768': {'totalActiveTime': 733, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'StpTopology', 'state': 'S', 'ttyName': '?'}, '1773': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netns --agenttitle=Acl --demuxerOpts=305296588459,301639833561,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl', 'state': 'S', 'ttyName': '?'}, '1777': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1778': {'totalActiveTime': 1641, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'Acl', 'state': 'S', 'ttyName': '?'}, '1790': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=Stp --demuxerOpts=305473916024,305413789947,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp', 'state': 'S', 'ttyName': '?'}, '1793': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1794': {'totalActiveTime': 1374, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'Stp', 'state': 'S', 'ttyName': '?'}, '1811': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=KernelNetworkInfo --demuxerOpts=309631584027,309381913189,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1813': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1816': {'totalActiveTime': 342, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1819': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=McastCommon6 --demuxerOpts=309865727193,309723632318,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6', 'state': 'S', 'ttyName': '?'}, '1820': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1822': {'totalActiveTime': 728, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'McastCommon6', 'state': 'S', 'ttyName': '?'}, '1830': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netns --agenttitle=LacpTxAgent --demuxerOpts=313593113413,309953840906,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1834': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1837': {'totalActiveTime': 739, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1850': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netns --agenttitle=Arp --demuxerOpts=314118913201,313693882645,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp', 'state': 'S', 'ttyName': '?'}, '1852': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1854': {'totalActiveTime': 1138, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'Arp', 'state': 'S', 'ttyName': '?'}, '1872': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netns --agenttitle=KernelFib --demuxerOpts=314295268017,314276868472,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib', 'state': 'S', 'ttyName': '?'}, '1873': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1875': {'totalActiveTime': 735, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'KernelFib', 'state': 'S', 'ttyName': '?'}, '1882': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netns --agenttitle=Qos --demuxerOpts=318150424387,318144860272,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos', 'state': 'S', 'ttyName': '?'}, '1883': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1884': {'totalActiveTime': 840, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'Qos', 'state': 'S', 'ttyName': '?'}, '1887': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netns --agenttitle=Thermostat --demuxerOpts=318469770561,318468274840,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat', 'state': 'S', 'ttyName': '?'}, '1888': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1889': {'totalActiveTime': 341, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'Thermostat', 'state': 'S', 'ttyName': '?'}, '1892': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netns --agenttitle=L2Rib --demuxerOpts=322522479134,322385632691,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib', 'state': 'S', 'ttyName': '?'}, '1896': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1898': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=TopoAgent --demuxerOpts=326605383165,326604902657,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled', 'state': 'S', 'ttyName': '?'}, '1899': {'totalActiveTime': 340, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'L2Rib', 'state': 'S', 'ttyName': '?'}, '1900': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1901': {'totalActiveTime': 704, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'TopoAgent', 'state': 'S', 'ttyName': '?'}, '1903': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=PowerFuse --demuxerOpts=326894071252,326715955598,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse', 'state': 'S', 'ttyName': '?'}, '1905': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1909': {'totalActiveTime': 290, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'PowerFuse', 'state': 'S', 'ttyName': '?'}, '1914': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=PowerManager --demuxerOpts=327071699135,326953747273,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager', 'state': 'S', 'ttyName': '?'}, '1918': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1922': {'totalActiveTime': 290, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'PowerManager', 'state': 'S', 'ttyName': '?'}, '1929': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=Ebra --demuxerOpts=327151350040,327147282764,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra', 'state': 'S', 'ttyName': '?'}, '1935': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1939': {'totalActiveTime': 1018, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'Ebra', 'state': 'S', 'ttyName': '?'}, '1947': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netns --agenttitle=ReloadCauseAgent --demuxerOpts=331154170429,330747269552,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1948': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1951': {'totalActiveTime': 292, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1957': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netns --agenttitle=SharedSecretProfile --demuxerOpts=331232223925,331231692014,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1961': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1964': {'totalActiveTime': 292, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1967': {'totalActiveTime': 740, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'IgmpSnooping', 'state': 'S', 'ttyName': '?'}, '1984': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netns --agenttitle=StaticRoute --demuxerOpts=335195923420,335185191889,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled', 'state': 'S', 'ttyName': '?'}, '1985': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1986': {'totalActiveTime': 343, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'StaticRoute', 'state': 'S', 'ttyName': '?'}, '1990': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netns --agenttitle=IpRib --demuxerOpts=335500217122,335274316065,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled', 'state': 'S', 'ttyName': '?'}, '1991': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2009': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netns --agenttitle=BgpCliHelper --demuxerOpts=335591889667,335586171622,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled', 'state': 'S', 'ttyName': '?'}, '2012': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2015': {'totalActiveTime': 348, 'memPct': 1.9, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'BgpCliHelper', 'state': 'S', 'ttyName': '?'}, '2025': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netns --agenttitle=ConnectedRoute --demuxerOpts=339572209152,339402675873,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '2027': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2028': {'totalActiveTime': 742, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '2030': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netns --agenttitle=RouteInput --demuxerOpts=340013863328,339680435197,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput', 'state': 'S', 'ttyName': '?'}, '2031': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2032': {'totalActiveTime': 344, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'RouteInput', 'state': 'S', 'ttyName': '?'}, '2033': {'totalActiveTime': 1636, 'memPct': 2.3, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'Bgp', 'state': 'Sl', 'ttyName': '?'}, '2040': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netns --agenttitle=Sfe --demuxerOpts=344444576369,344061658149,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe', 'state': 'S', 'ttyName': '?'}, '2045': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2303': {'totalActiveTime': 28, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': '/usr/sbin/rsyslogd -n', 'state': 'Ssl', 'ttyName': '?'}, '2369': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281546.0, 'cmd': '/usr/sbin/dnsmasq', 'state': 'S', 'ttyName': '?'}, '2630': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': 'netns --agenttitle=LicenseManager --demuxerOpts=395217769752,395217285612,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager', 'state': 'S', 'ttyName': '?'}, '2631': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2632': {'totalActiveTime': 292, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': 'LicenseManager', 'state': 'S', 'ttyName': '?'}, '2635': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': '/usr/bin/conlogd', 'state': 'S', 'ttyName': '?'}, '2636': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': '/sbin/mingetty --noclear /dev/ttyS0', 'state': 'Ss+', 'ttyName': 'ttyS0'}, '2637': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': '/sbin/agetty --noclear tty1 linux', 'state': 'Ss+', 'ttyName': 'tty1'}, '2645': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': "sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2635 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'", 'state': 'S', 'ttyName': '?'}, '2648': {'totalActiveTime': 55, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': '/usr/bin/tail -n 0 --retry --follow=name --pid=2635 /var/log/eos-console', 'state': 'S', 'ttyName': '?'}, '2649': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': 'sed s/\\(.*\\)/\\1\\r/', 'state': 'S', 'ttyName': '?'}, '2691': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281556.0, 'cmd': '[SuperServer] <defunct>', 'state': 'Zs', 'ttyName': '?'}, '2718': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281557.0, 'cmd': 'netns --agenttitle=Ipsec --demuxerOpts=417010822932,417010338793,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec', 'state': 'S', 'ttyName': '?'}, '2720': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281557.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2721': {'totalActiveTime': 2110, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281557.0, 'cmd': 'Ipsec', 'state': 'S', 'ttyName': '?'}, '2723': {'totalActiveTime': 1, 'memPct': 0.4, 'cpuPct': 0.0, 'startTime': 1597281557.0, 'cmd': 'dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1', 'state': 'Ss', 'ttyName': '?'}, '2750': {'totalActiveTime': 83, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281559.0, 'cmd': 'ntpd -u ntp:ntp -g -p /var/run/ntpd.pid', 'state': 'Ssl', 'ttyName': '?'}, '2753': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281562.0, 'cmd': 'fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc', 'state': 'Ss', 'ttyName': '?'}, '3323': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281717.0, 'cmd': '/usr/libexec/strongswan/starter --daemon charon', 'state': 'Ss', 'ttyName': '?'}, '3325': {'totalActiveTime': 126, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281717.0, 'cmd': '/usr/libexec/strongswan/charon --use-syslog', 'state': 'Ssl', 'ttyName': '?'}, '12495': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1598897705.0, 'cmd': '/bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh', 'state': 'S', 'ttyName': '?'}, '13396': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599667620.0, 'cmd': '[kworker/0:0]', 'state': 'S', 'ttyName': '?'}, '16265': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668341.0, 'cmd': '[kworker/0:2]', 'state': 'S', 'ttyName': '?'}, '18653': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597436394.0, 'cmd': 'netns --agenttitle=CapiApp --demuxerOpts=665436806498288,665436806007998,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini', 'state': 'S', 'ttyName': '?'}, '18654': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597436394.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '18655': {'totalActiveTime': 375, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597436394.0, 'cmd': 'CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Sl', 'ttyName': '?'}, '18699': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597436395.0, 'cmd': 'nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;', 'state': 'Ss', 'ttyName': '?'}, '18701': {'totalActiveTime': 107, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597436395.0, 'cmd': 'nginx: worker process ', 'state': 'S', 'ttyName': '?'}, '18917': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668700.0, 'cmd': '[kworker/0:1]', 'state': 'S', 'ttyName': '?'}, '22344': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669061.0, 'cmd': '[kworker/0:3]', 'state': 'S', 'ttyName': '?'}, '22359': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669061.0, 'cmd': '[kworker/0:4]', 'state': 'S', 'ttyName': '?'}, '23589': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669162.0, 'cmd': 'sshd: root [net] ', 'state': 'S', 'ttyName': '?'}, '23845': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669170.0, 'cmd': 'ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww', 'state': 'Rs', 'ttyName': '?'}}, 'timeInfo': {'upTime': 2387710.91, 'loadAvg': [2.12, 1.81, 1.49], 'users': 0, 'currentTime': 1599669171.798803}}, 'text': " 16:32:52 up 27 days, 15:15, 0 users, load average: 2.12, 1.81, 1.49\n PID %CPU %MEM TT STAT STARTED TIME CMD\n 2051 101 3.4 ? Sl Aug 13 28-00:35:44 Sfe\n 1720 2.4 1.8 ? Sl Aug 13 15:58:37 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.12.101 -taillogs -grpcaddr=0.0.0.0:6042\n12509 0.5 0.7 ? SNl Aug 31 01:15:14 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config\n23586 0.5 0.1 ? Ss 16:32:42 00:00:00 sshd: root [priv] \n 1571 0.3 7.1 ? Sl Aug 13 02:05:49 ConfigAgent\n 1296 0.2 0.9 ? S Aug 13 01:32:30 ProcMgr-worker\n 1529 0.2 2.6 ? S Aug 13 01:36:43 Sysdb\n 1735 0.1 1.7 ? S Aug 13 00:49:00 SuperServer\n 1759 0.1 1.0 ? S Aug 13 01:17:06 AgentMonitor\n 1992 0.1 1.6 ? S Aug 13 00:46:16 IpRib\n 1 0.0 0.0 ? Ss Aug 13 00:06:04 /sbin/init\n 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd]\n 3 0.0 0.0 ? S Aug 13 00:00:12 [ksoftirqd/0]\n 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H]\n 7 0.0 0.0 ? S Aug 13 00:00:17 [rcu_preempt]\n 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched]\n 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh]\n 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0]\n 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain]\n 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0]\n 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0]\n 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1]\n 15 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/1]\n 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1]\n 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1]\n 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0]\n 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H]\n 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2]\n 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2]\n 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2]\n 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2]\n 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0]\n 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H]\n 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3]\n 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3]\n 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3]\n 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3]\n 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0]\n 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H]\n 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs]\n 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns]\n 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd]\n 35 0.0 0.0 ? S Aug 13 00:00:14 [khungtaskd2]\n 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper]\n 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback]\n 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0]\n 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto]\n 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd]\n 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd]\n 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff]\n 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller]\n 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task]\n 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd]\n 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd]\n 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl]\n 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod]\n 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod]\n 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0]\n 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat]\n 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod]\n 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd]\n 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme]\n 73 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:1]\n 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd]\n 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf]\n 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq]\n 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-]\n 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver]\n 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H]\n 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0]\n 387 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd\n 414 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f\n 497 0.0 0.0 ? S< Aug 13 00:00:00 [ena]\n 705 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1]\n 734 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground\n 738 0.0 0.0 ? Ss Aug 13 00:02:52 /usr/lib/systemd/systemd-logind\n 740 0.0 0.1 ? Ss Aug 13 00:04:31 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation\n 752 0.0 0.0 ? Ss Aug 13 00:00:52 /usr/bin/ProcMonitor\n 796 0.0 0.0 ? Ss Aug 13 00:00:05 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid\n 811 0.0 0.0 ? S<s Aug 13 00:00:21 /usr/bin/wdogdev -t 60\n 820 0.0 0.0 ? Ss Aug 13 00:00:16 /usr/sbin/crond -n\n 867 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:3]\n 976 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local\n 977 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1007 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys\n 1008 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1025 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure\n 1026 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil\n 1029 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1054 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon\n 1169 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1170 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1204 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm\n 1267 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1269 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1295 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master\n 1468 0.0 0.0 ? S Aug 13 00:09:19 /usr/bin/EosOomAdjust\n 1476 0.0 0.0 ? S Aug 13 00:00:01 [rbfd_vrf_cleanu]\n 1491 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid\n 1528 0.0 0.0 ? S Aug 13 00:02:07 /usr/bin/SlabMonitor\n 1570 0.0 1.2 ? S Aug 13 00:04:49 StageMgr\n 1575 0.0 1.4 ? S Aug 13 00:11:32 Fru\n 1576 0.0 1.8 ? S Aug 13 00:04:48 Launcher\n 1696 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=283510534772,283510025210,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp\n 1697 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1698 0.0 1.2 ? S Aug 13 00:17:41 Lldp\n 1703 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=283625389593,283557152987,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon\n 1704 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1706 0.0 1.2 ? S Aug 13 00:12:09 McastCommon\n 1708 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=283790275633,283680080063,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec\n 1709 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H]\n 1712 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1713 0.0 1.2 ? S Aug 13 00:13:21 PortSec\n 1727 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=284244580020,284069179516,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd\n 1728 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1729 0.0 1.4 ? S Aug 13 00:13:15 Bfd\n 1732 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=288276526737,288091282802,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag\n 1733 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1734 0.0 1.3 ? S Aug 13 00:28:58 Lag\n 1739 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=292170530223,292160868939,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira\n 1740 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1741 0.0 1.5 ? S Aug 13 00:12:19 Ira\n 1742 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=296430530784,292790029349,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy\n 1743 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1744 0.0 1.2 ? S Aug 13 00:15:06 LedPolicy\n 1746 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=296679631718,296505735315,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr\n 1747 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1748 0.0 1.3 ? S Aug 13 00:17:20 EventMgr\n 1749 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=296966020071,296758072413,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx\n 1750 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1751 0.0 1.2 ? S Aug 13 00:37:31 StpTxRx\n 1754 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=297230697565,297031996334,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld\n 1755 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1756 0.0 1.1 ? S Aug 13 00:04:51 StandbyCpld\n 1757 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=300703577697,297318029615,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor\n 1758 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1761 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=300917240606,300815189647,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel\n 1762 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1763 0.0 1.2 ? S Aug 13 00:07:39 Tunnel\n 1764 0.0 1.5 ? Sl Aug 13 00:12:38 Aaa\n 1766 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=301455121817,301267954454,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology\n 1767 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1768 0.0 1.2 ? S Aug 13 00:12:13 StpTopology\n 1773 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=305296588459,301639833561,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl\n 1777 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1778 0.0 1.4 ? S Aug 13 00:27:21 Acl\n 1790 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=305473916024,305413789947,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp\n 1793 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1794 0.0 1.1 ? S Aug 13 00:22:54 Stp\n 1811 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=309631584027,309381913189,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo\n 1813 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1816 0.0 1.1 ? S Aug 13 00:05:42 KernelNetworkInfo\n 1819 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=309865727193,309723632318,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6\n 1820 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1822 0.0 1.2 ? S Aug 13 00:12:08 McastCommon6\n 1830 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=313593113413,309953840906,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent\n 1834 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1837 0.0 1.2 ? S Aug 13 00:12:19 LacpTxAgent\n 1850 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=314118913201,313693882645,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp\n 1852 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1854 0.0 1.5 ? S Aug 13 00:18:58 Arp\n 1872 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=314295268017,314276868472,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib\n 1873 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1875 0.0 1.4 ? S Aug 13 00:12:15 KernelFib\n 1882 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=318150424387,318144860272,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos\n 1883 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1884 0.0 1.2 ? S Aug 13 00:14:00 Qos\n 1887 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=318469770561,318468274840,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat\n 1888 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1889 0.0 1.1 ? S Aug 13 00:05:41 Thermostat\n 1892 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=322522479134,322385632691,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib\n 1896 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1898 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=326605383165,326604902657,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled\n 1899 0.0 1.2 ? S Aug 13 00:05:40 L2Rib\n 1900 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1901 0.0 1.2 ? S Aug 13 00:11:44 TopoAgent\n 1903 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=326894071252,326715955598,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse\n 1905 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1909 0.0 1.1 ? S Aug 13 00:04:50 PowerFuse\n 1914 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=327071699135,326953747273,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager\n 1918 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1922 0.0 1.1 ? S Aug 13 00:04:50 PowerManager\n 1929 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=327151350040,327147282764,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra\n 1935 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1939 0.0 1.4 ? S Aug 13 00:16:58 Ebra\n 1947 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=331154170429,330747269552,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent\n 1948 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1951 0.0 1.1 ? S Aug 13 00:04:52 ReloadCauseAgent\n 1957 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=331232223925,331231692014,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile\n 1961 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1964 0.0 1.1 ? S Aug 13 00:04:52 SharedSecretProfile\n 1967 0.0 1.5 ? S Aug 13 00:12:20 IgmpSnooping\n 1984 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=335195923420,335185191889,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled\n 1985 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1986 0.0 1.3 ? S Aug 13 00:05:43 StaticRoute\n 1990 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=335500217122,335274316065,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled\n 1991 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2009 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=335591889667,335586171622,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled\n 2012 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2015 0.0 1.9 ? S Aug 13 00:05:48 BgpCliHelper\n 2025 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=339572209152,339402675873,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute\n 2027 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2028 0.0 1.3 ? S Aug 13 00:12:22 ConnectedRoute\n 2030 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=340013863328,339680435197,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput\n 2031 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2032 0.0 1.3 ? S Aug 13 00:05:44 RouteInput\n 2033 0.0 2.3 ? Sl Aug 13 00:27:16 Bgp\n 2040 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=344444576369,344061658149,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe\n 2045 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2303 0.0 0.0 ? Ssl Aug 13 00:00:28 /usr/sbin/rsyslogd -n\n 2369 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq\n 2630 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=395217769752,395217285612,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager\n 2631 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2632 0.0 1.1 ? S Aug 13 00:04:52 LicenseManager\n 2635 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd\n 2636 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0\n 2637 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux\n 2645 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2635 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'\n 2648 0.0 0.0 ? S Aug 13 00:00:55 /usr/bin/tail -n 0 --retry --follow=name --pid=2635 /var/log/eos-console\n 2649 0.0 0.0 ? S Aug 13 00:00:00 sed s/\\(.*\\)/\\1\\r/\n 2691 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct>\n 2718 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=417010822932,417010338793,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec\n 2720 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2721 0.0 1.2 ? S Aug 13 00:35:10 Ipsec\n 2723 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1\n 2750 0.0 0.1 ? Ssl Aug 13 00:01:23 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid\n 2753 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc\n 3323 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon\n 3325 0.0 0.1 ? Ssl Aug 13 00:02:06 /usr/libexec/strongswan/charon --use-syslog\n12495 0.0 0.0 ? S Aug 31 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh\n13396 0.0 0.0 ? S 16:07:00 00:00:00 [kworker/0:0]\n16265 0.0 0.0 ? S 16:19:01 00:00:00 [kworker/0:2]\n18653 0.0 0.0 ? S Aug 14 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=665436806498288,665436806007998,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini\n18654 0.0 0.3 ? Ss Aug 14 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n18655 0.0 1.3 ? Sl Aug 14 00:06:15 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n18699 0.0 0.0 ? Ss Aug 14 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;\n18701 0.0 0.1 ? S Aug 14 00:01:47 nginx: worker process \n18917 0.0 0.0 ? S 16:25:00 00:00:00 [kworker/0:1]\n22344 0.0 0.0 ? S 16:31:01 00:00:00 [kworker/0:3]\n22359 0.0 0.0 ? S 16:31:01 00:00:00 [kworker/0:4]\n23589 0.0 0.0 ? S 16:32:42 00:00:00 sshd: root [net] \n23851 0.0 0.0 ? S 16:32:50 00:00:00 sshd: root [pam] \n23862 0.0 0.0 ? Rs 16:32:51 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww\n23864 0.0 0.0 ? Rs 16:32:51 00:00:00 [ConfigAgent]\n"}, 'show running-config section username': {'json': {'output': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'text': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'show aaa counters': {'json': {'authenticationSuccess': 82028, 'authorizationAllowed': 721, 'accountingSuccess': 0, 'pendingAccountingRequests': 0, 'authorizationDenied': 0, 'authenticationFail': 1, 'authenticationUnavailable': 96, 'accountingError': 0, 'authorizationUnavailable': 0}, 'text': 'Authentication\n Successful: 82030\n Failed: 1\n Service unavailable: 96\n\nAuthorization\n Allowed: 721\n Denied: 0\n Service unavailable: 0\n\nAccounting\n Successful: 0\n Error: 0\n Pending: 0\n\nLast time counters were cleared: never\n'}, 'show users detail': {'json': {'serials': {}, 'nonInteractives': {'82142': {'username': 'kgrozis', 'state': 'established', 'sessionStartTime': 1599669160, 'role': '', 'service': 'commandApi', 'authMethod': 'local'}}, 'vtys': {}}, 'text': 'Session Username Roles TTY State Duration Auth Remote Host \n-------- --------- ------- ------------- ------- ---------- ------- ----------- \n82142 kgrozis command-api E 0:00:14 local \n'}, 'show aaa methods all': {'json': {'authorization': {'commandsAuthzMethods': {'privilege0-15': {'methods': ['none']}}, 'execAuthzMethods': {'exec': {'methods': ['none']}}}, 'authentication': {'loginAuthenMethods': {'default': {'methods': ['local']}}, 'dot1xAuthenMethods': {'default': {'methods': []}}, 'enableAuthenMethods': {'default': {'methods': ['local']}}}, 'accounting': {'systemAcctMethods': {'system': {'defaultMethods': [], 'consoleMethods': []}}, 'execAcctMethods': {'exec': {'defaultMethods': [], 'consoleMethods': []}}, 'commandsAcctMethods': {'privilege0-15': {'defaultMethods': [], 'consoleMethods': []}}, 'dot1xAcctMethods': {'dot1x': {'defaultMethods': [], 'consoleMethods': []}}}}, 'text': 'Authentication method lists for LOGIN:\n name=default methods=local\nAuthentication method list for ENABLE:\n name=default methods=local\nAuthentication method list for DOT1X:\n name=default methods=\nAuthorization method lists for COMMANDS:\n name=privilege0-15 methods=none\nAuthorization method list for EXEC:\n name=exec methods=none\nAccounting method lists for COMMANDS:\n name=privilege0-15 default-action=none\nAccounting method list for EXEC:\n name=exec default-action=none\nAccounting method list for SYSTEM:\n name=system default-action=none\nAccounting method list for DOT1X:\n name=dot1x default-action=none\n'}, 'show ntp status': {'json': {'status': 'synchronised', 'pollingInterval': 512, 'stratum': 4, 'maxEstimatedError': 21, 'server': '169.254.169.123'}, 'text': 'synchronised to NTP server (169.254.169.123) at stratum 4\n time correct to within 21 ms\n polling server every 512 s\n\n'}, 'show ntp associations': {'json': {'peers': {'169.254.169.123': {'delay': 0.136, 'jitter': 0.311, 'lastReceived': 1599668836.0, 'peerType': 'local', 'reachabilityHistory': [True, True, True, True, True, True, True, True], 'condition': 'sys.peer', 'offset': -1.768, 'peerIpAddr': '169.254.169.123', 'pollInterval': 512, 'refid': '169.254.169.122', 'stratumLevel': 3}}}, 'text': ' remote refid st t when poll reach delay offset jitter\n==============================================================================\n*169.254.169.123 169.254.169.12 3 l 341 512 377 0.136 -1.768 0.311\n'}, 'show daemon': {'json': {'daemons': {'TerminAttr': {'running': True, 'option': {}, 'starttime': 1597281527.471623, 'pid': 1720, 'enabled': True, 'uptime': 2387650.41, 'data': {}, 'isSdkAgent': False}}}, 'text': 'Process: TerminAttr (running with PID 1720)\nUptime: 27 days, 15:14:10 (Start time: Thu Aug 13 01:18:47 2020)\nNo configuration options stored.\n\nNo status data stored.\n\n'}, 'show zerotouch': {'json': {'mode': 'disabled', 'scriptTimeout': 900}, 'text': '\nZeroTouch Mode: Disabled\nScript Exec Timeout: 900\n'}, 'dir flash:zerotouch-config': {'json': {'messages': ['Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7293403136 bytes free)\n']}, 'text': 'Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7293403136 bytes free)\n'}, 'show system environment temperature': {'json': {'cardSlots': [], 'powerSupplySlots': [], 'shutdownOnOverheat': True, 'tempSensors': [], 'systemStatus': 'unknownTemperatureAlarmLevel'}, 'text': 'System temperature status is: Unknown\n'}, 'show system environment cooling': {'json': {'overrideFanSpeed': 0, 'coolingMode': 'automatic', 'powerSupplySlots': [], 'fanTraySlots': [], 'minFanSpeed': 0, 'shutdownOnInsufficientFans': True, 'systemStatus': 'unknownCoolingAlarmLevel', 'airflowDirection': 'unknownAirflowDirection'}, 'text': 'System cooling status is: Unknown\nAmbient temperature: Unknown\n Config Actual Speed Stable\nFan Status Speed Speed Uptime Stability Uptime\n--- ------ ------ ------ ------ --------- ------\n'}, 'show management api http-commands': {'json': {'httpServer': {'running': False, 'configured': False, 'port': 80}, 'users': {'kgrozis': {'requestCount': 75244, 'bytesOut': 194453586, 'lastHitTime': 1599669179.8044221, 'bytesIn': 12163312}}, 'bytesOut': 194453586, 'logLevel': 'none', 'dscpValue': 0, 'corsOrigins': [], 'hitCount': 80147, 'vrf': 'default', 'lastHitTime': 1599669179.8043664, 'tlsProtocol': ['1.0', '1.1', '1.2'], 'localHttpServer': {'running': False, 'configured': False, 'port': 8080}, 'executionTime': 7847.868233990972, 'enabled': True, 'fipsEnabled': False, 'httpsServer': {'running': True, 'configured': True, 'port': 443}, 'requestCount': 75244, 'vrfs': ['default'], 'urls': ['Ethernet1 : https://11.201.12.101:443', 'Ethernet100 : https://11.201.8.1:443', 'Loopback0 : https://11.201.0.2:443', 'Loopback10 : https://198.18.0.36:443'], 'unixSocketServer': {'running': False, 'configured': False}, 'bytesIn': 12163312, 'commandCount': 150488, 'iframeAncestors': []}, 'text': 'Enabled: Yes\nHTTPS server: running, set to use port 443\nHTTP server: shutdown, set to use port 80\nLocal HTTP server: shutdown, no authentication, set to use port 8080\nUnix Socket server: shutdown, no authentication\nVRFs: default\nHits: 80151\nLast hit: 0 seconds ago\nBytes in: 12163907\nBytes out: 194465833\nRequests: 75248\nCommands: 150496\nDuration: 7848.120 seconds\nSSL Profile: none\nFIPS Mode: No\nQoS DSCP: 0\nLog Level: none\nCSP Frame Ancestor: None\nTLS Protocols: 1.0 1.1 1.2\n User Requests Bytes in Bytes out Last hit \n------------- -------------- -------------- --------------- ------------- \n kgrozis 75248 12163907 194465833 0 seconds ago \n\nURLs \n--------------------------------------- \nEthernet1 : https://11.201.12.101:443 \nEthernet100 : https://11.201.8.1:443 \nLoopback0 : https://11.201.0.2:443 \nLoopback10 : https://198.18.0.36:443 \n\n'}, 'show tacacs': {'json': {'tacacsServers': [], 'groups': {}, 'srcIntf': {}, 'lastCounterClearTime': 0.0}, 'text': '\nLast time counters were cleared: never\n'}, 'show logging': {'json': {'output': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:20 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:20 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:26 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:29 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:29 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:35 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:11 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:13 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:19 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:43 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:45 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:51 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:38 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:39 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:45 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:41 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:42 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:48 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:07 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:15 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:15 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}, 'text': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:20 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:20 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:26 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:29 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:29 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:35 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:11 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:13 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:19 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:43 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:45 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:51 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:38 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:39 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:45 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:41 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:42 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:48 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:07 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:15 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:15 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}}} test_name: test_if_files_on_ test_parameters: {'parameters': {'show_log': 'show_output.log'}} INFO root:tests_tools.py:250 Return model data and text output from show commands and log text output for show file information flash:veos-config with connnection Node(connection=EapiConnection(transport=https://3.22.137.44:443//command-api)) INFO root:tests_tools.py:254 Raw json output of show file information flash:veos-config on dut kg-topology-CloudEosRR1: [{'command': 'show file information flash:veos-config', 'result': {'isDir': False, 'path': 'flash:/veos-config', 'fileName': '/mnt/flash/veos-config'}, 'encoding': 'json'}] INFO root:tests_tools.py:257 Raw text output of show file information flash:veos-config on dut kg-topology-CloudEosRR1: [{'output': 'flash:/veos-config:\n type is file\n'}] INFO root:tests_tools.py:311 Open log file for logging test show commands INFO root:tests_tools.py:315 Opening file show_output.log and append show output: flash:/veos-config: type is file INFO root:test_filesystem.py:80 WHEN flash:veos-config file isDir state is |False| INFO root:test_filesystem.py:84 THEN test case result is |True| INFO root:test_filesystem.py:85 OUTPUT of |show file information flash:veos-config| is : [{'output': 'flash:/veos-config:\n type is file\n'}] INFO root:test_filesystem.py:70 TEST is flash:zerotouch-config file present on |kg-topology-CloudEosRR1| INFO root:test_filesystem.py:71 GIVEN expected flash:zerotouch-config isDir state: |False| INFO root:tests_tools.py:245 Raw Input for return_show_cmd show_cmd: show file information flash:zerotouch-config dut: {'connection': Node(connection=EapiConnection(transport=https://3.22.137.44:443//command-api)), 'name': 'kg-topology-CloudEosRR1', 'output': {'interface_list': [{'hostname': 'kg-topology-CloudEosRR1', 'interface_name': 'Ethernet1', 'z_hostname': 'leaf01', 'z_interface_name': 'Ethernet2', 'media_type': ''}], 'show interfaces status': {'json': {'interfaceStatuses': {'Ethernet100': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 10000000000, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet1': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}}}, 'text': 'Port Name Status Vlan Duplex Speed Type Flags Encapsulation\nEt1 connected routed full unconf 10/100/1000 \nEt100 connected routed full 10G 10/100/1000 \n\n'}, 'show interfaces phy detail': {'json': {'interfacePhyStatuses': {}}, 'text': ''}, 'show hostname': {'json': {'fqdn': 'kg-topology-CloudEosRR1', 'hostname': 'kg-topology-CloudEosRR1'}, 'text': 'Hostname: kg-topology-CloudEosRR1\nFQDN: kg-topology-CloudEosRR1\n'}, 'show extensions': {'json': {'extensions': {'awslogs.swix': {'status': 'installed', 'vendor': 'Amazon <UNKNOWN>', 'description': ' awsclicwlogs This awscli plugin provides the pull, push and filter commands to\naccess AWS CloudWatch Logs service. The awsclicwlogs package works on Python\nversions:* 2.6.5 and greater * 2.7.x and greater * 3.3.x and greater\nInstallation The easiest way to install awsclicwlogs is to use pip_:: $ pip\ninstall awsclicwlogsor, if you are not installing in a virtualenv:: $ sudo pip\ninstall ...', 'presence': 'present', 'rpms': {'awslogs.noarch.rpm': {'release': '1.el7', 'version': '1.4.0'}}, 'summary': 'AWSCLI CloudWatch Logs plugin', 'version': '1.4.0', 'numRpms': 1, 'error': False, 'release': '1.el7', 'installedSize': 23414055}, 'awsha.rpm': {'status': 'installed', 'vendor': '', 'description': 'Aws HA', 'presence': 'present', 'rpms': {'awsha.rpm': {'release': '1', 'version': '0.1.1'}}, 'summary': 'Aws HA', 'version': '0.1.1', 'numRpms': 1, 'error': False, 'release': '1', 'installedSize': 10073042}}}, 'text': 'Name Version/Release Status Extension\n----------------- -------------------- ----------- ---------\nawsha.rpm 0.1.1/1 A, I 1 \nawslogs.swix 1.4.0/1.el7 A, I 1 \n\n\nA: available | NA: not available | I: installed | NI: not installed | F: forced\nS: valid signature | NS: invalid signature\n'}, 'show version': {'json': {'memTotal': 7761392, 'uptime': 2387710.35, 'modelName': 'vEOS', 'internalVersion': '4.23.1F-cloud-16179785.jakartarel', 'mfgName': 'Arista', 'serialNumber': '9B112703F293F47ADC3EE25318457B64', 'systemMacAddress': '02:46:bb:59:d5:ae', 'bootupTimestamp': 1597281461.0, 'memFree': 2971700, 'version': '4.23.1F-cloud-16179785.jakartarel (engineering build)', 'configMacAddress': '00:00:00:00:00:00', 'isIntlVersion': False, 'internalBuildId': '6bc96200-86c1-4e86-bed7-8280a6802809', 'hardwareRevision': '', 'hwMacAddress': '00:00:00:00:00:00', 'architecture': 'x86_64'}, 'text': 'Arista vEOS\nHardware version: \nSerial number: 9B112703F293F47ADC3EE25318457B64\nSystem MAC address: 0246.bb59.d5ae\n\nSoftware image version: 4.23.1F-cloud-16179785.jakartarel (engineering build)\nArchitecture: x86_64\nInternal build version: 4.23.1F-cloud-16179785.jakartarel\nInternal build ID: 6bc96200-86c1-4e86-bed7-8280a6802809\n\nUptime: 3 weeks, 6 days, 15 hours and 15 minutes\nTotal memory: 7761392 kB\nFree memory: 2959400 kB\n\n'}, 'show processes': {'json': {'processes': {'2051': {'totalActiveTime': 2421343, 'memPct': 3.4, 'cpuPct': 101.0, 'startTime': 1597281541.0, 'cmd': 'Sfe', 'state': 'Sl', 'ttyName': '?'}, '1720': {'totalActiveTime': 57517, 'memPct': 1.8, 'cpuPct': 2.4, 'startTime': 1597281526.0, 'cmd': '/usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.12.101 -taillogs -grpcaddr=0.0.0.0:6042', 'state': 'Sl', 'ttyName': '?'}, '23586': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.6, 'startTime': 1599669162.0, 'cmd': 'sshd: root [priv] ', 'state': 'Ss', 'ttyName': '?'}, '12509': {'totalActiveTime': 4514, 'memPct': 0.7, 'cpuPct': 0.5, 'startTime': 1598897706.0, 'cmd': 'python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config', 'state': 'SNl', 'ttyName': '?'}, '1571': {'totalActiveTime': 7549, 'memPct': 7.1, 'cpuPct': 0.3, 'startTime': 1597281504.0, 'cmd': 'ConfigAgent', 'state': 'Sl', 'ttyName': '?'}, '1296': {'totalActiveTime': 5550, 'memPct': 0.9, 'cpuPct': 0.2, 'startTime': 1597281487.0, 'cmd': 'ProcMgr-worker', 'state': 'S', 'ttyName': '?'}, '1529': {'totalActiveTime': 5803, 'memPct': 2.6, 'cpuPct': 0.2, 'startTime': 1597281501.0, 'cmd': 'Sysdb', 'state': 'S', 'ttyName': '?'}, '1735': {'totalActiveTime': 2940, 'memPct': 1.7, 'cpuPct': 0.1, 'startTime': 1597281528.0, 'cmd': 'SuperServer', 'state': 'S', 'ttyName': '?'}, '1759': {'totalActiveTime': 4626, 'memPct': 1.0, 'cpuPct': 0.1, 'startTime': 1597281530.0, 'cmd': 'AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1992': {'totalActiveTime': 2776, 'memPct': 1.6, 'cpuPct': 0.1, 'startTime': 1597281538.0, 'cmd': 'IpRib', 'state': 'S', 'ttyName': '?'}, '1': {'totalActiveTime': 364, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '/sbin/init', 'state': 'Ss', 'ttyName': '?'}, '2': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kthreadd]', 'state': 'S', 'ttyName': '?'}, '3': {'totalActiveTime': 12, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ksoftirqd/0]', 'state': 'S', 'ttyName': '?'}, '5': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/0:0H]', 'state': 'S<', 'ttyName': '?'}, '7': {'totalActiveTime': 17, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[rcu_preempt]', 'state': 'S', 'ttyName': '?'}, '8': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[rcu_sched]', 'state': 'S', 'ttyName': '?'}, '9': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[rcu_bh]', 'state': 'S', 'ttyName': '?'}, '10': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[migration/0]', 'state': 'S', 'ttyName': '?'}, '11': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[lru-add-drain]', 'state': 'S<', 'ttyName': '?'}, '12': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[watchdog/0]', 'state': 'S', 'ttyName': '?'}, '13': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[cpuhp/0]', 'state': 'S', 'ttyName': '?'}, '14': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[cpuhp/1]', 'state': 'S', 'ttyName': '?'}, '15': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[watchdog/1]', 'state': 'S', 'ttyName': '?'}, '16': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[migration/1]', 'state': 'S', 'ttyName': '?'}, '17': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ksoftirqd/1]', 'state': 'S', 'ttyName': '?'}, '18': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/1:0]', 'state': 'S', 'ttyName': '?'}, '19': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/1:0H]', 'state': 'S<', 'ttyName': '?'}, '20': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[cpuhp/2]', 'state': 'S', 'ttyName': '?'}, '21': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[watchdog/2]', 'state': 'S', 'ttyName': '?'}, '22': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[migration/2]', 'state': 'S', 'ttyName': '?'}, '23': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ksoftirqd/2]', 'state': 'S', 'ttyName': '?'}, '24': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/2:0]', 'state': 'S', 'ttyName': '?'}, '25': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/2:0H]', 'state': 'S<', 'ttyName': '?'}, '26': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[cpuhp/3]', 'state': 'S', 'ttyName': '?'}, '27': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[watchdog/3]', 'state': 'S', 'ttyName': '?'}, '28': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[migration/3]', 'state': 'S', 'ttyName': '?'}, '29': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ksoftirqd/3]', 'state': 'S', 'ttyName': '?'}, '30': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/3:0]', 'state': 'S', 'ttyName': '?'}, '31': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/3:0H]', 'state': 'S<', 'ttyName': '?'}, '32': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kdevtmpfs]', 'state': 'S', 'ttyName': '?'}, '33': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[netns]', 'state': 'S<', 'ttyName': '?'}, '34': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[khungtaskd]', 'state': 'S', 'ttyName': '?'}, '35': {'totalActiveTime': 14, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[khungtaskd2]', 'state': 'S', 'ttyName': '?'}, '36': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[oom_reaper]', 'state': 'S', 'ttyName': '?'}, '37': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[writeback]', 'state': 'S<', 'ttyName': '?'}, '38': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kcompactd0]', 'state': 'S', 'ttyName': '?'}, '39': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[crypto]', 'state': 'S<', 'ttyName': '?'}, '40': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kintegrityd]', 'state': 'S<', 'ttyName': '?'}, '41': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '42': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kblockd]', 'state': 'S<', 'ttyName': '?'}, '43': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ata_sff]', 'state': 'S<', 'ttyName': '?'}, '44': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[edac-poller]', 'state': 'S<', 'ttyName': '?'}, '45': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[dst_gc_task]', 'state': 'S', 'ttyName': '?'}, '46': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[watchdogd]', 'state': 'S<', 'ttyName': '?'}, '47': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[arp_cache-prd]', 'state': 'S', 'ttyName': '?'}, '49': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[icmp_unreachabl]', 'state': 'S', 'ttyName': '?'}, '50': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[rpciod]', 'state': 'S<', 'ttyName': '?'}, '51': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[xprtiod]', 'state': 'S<', 'ttyName': '?'}, '52': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kswapd0]', 'state': 'S', 'ttyName': '?'}, '53': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[vmstat]', 'state': 'S<', 'ttyName': '?'}, '54': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[nfsiod]', 'state': 'S<', 'ttyName': '?'}, '63': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[pcielwd]', 'state': 'S<', 'ttyName': '?'}, '64': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '65': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '66': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '67': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '68': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '69': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '70': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '71': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '72': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[nvme]', 'state': 'S<', 'ttyName': '?'}, '73': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[kworker/u8:1]', 'state': 'S', 'ttyName': '?'}, '74': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ndisc_cache-prd]', 'state': 'S', 'ttyName': '?'}, '75': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ipv6_addrconf]', 'state': 'S<', 'ttyName': '?'}, '76': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ecc_log_wq]', 'state': 'S<', 'ttyName': '?'}, '124': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '125': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '171': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[jbd2/nvme0n1p1-]', 'state': 'S', 'ttyName': '?'}, '172': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281460.0, 'cmd': '[ext4-rsv-conver]', 'state': 'S<', 'ttyName': '?'}, '194': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281461.0, 'cmd': '[kworker/0:1H]', 'state': 'S<', 'ttyName': '?'}, '272': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '[loop0]', 'state': 'S<', 'ttyName': '?'}, '387': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281469.0, 'cmd': '/usr/lib/systemd/systemd-udevd', 'state': 'Ss', 'ttyName': '?'}, '414': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281470.0, 'cmd': '/usr/sbin/lvmetad -f', 'state': 'Ss', 'ttyName': '?'}, '497': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281470.0, 'cmd': '[ena]', 'state': 'S<', 'ttyName': '?'}, '705': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281470.0, 'cmd': '[kworker/1:1]', 'state': 'S', 'ttyName': '?'}, '734': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': '/usr/sbin/mcelog --ignorenodev --daemon --foreground', 'state': 'Ss', 'ttyName': '?'}, '738': {'totalActiveTime': 172, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': '/usr/lib/systemd/systemd-logind', 'state': 'Ss', 'ttyName': '?'}, '740': {'totalActiveTime': 271, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': '/usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation', 'state': 'Ss', 'ttyName': '?'}, '752': {'totalActiveTime': 52, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': '/usr/bin/ProcMonitor', 'state': 'Ss', 'ttyName': '?'}, '796': {'totalActiveTime': 5, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': '/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid', 'state': 'Ss', 'ttyName': '?'}, '811': {'totalActiveTime': 21, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281472.0, 'cmd': '/usr/bin/wdogdev -t 60', 'state': 'S<s', 'ttyName': '?'}, '820': {'totalActiveTime': 16, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281472.0, 'cmd': '/usr/sbin/crond -n', 'state': 'Ss', 'ttyName': '?'}, '867': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281472.0, 'cmd': '[kworker/u8:3]', 'state': 'S', 'ttyName': '?'}, '976': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local', 'state': 'S', 'ttyName': '?'}, '977': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/0'}, '1007': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys', 'state': 'S', 'ttyName': '?'}, '1008': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/1'}, '1025': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure', 'state': 'S', 'ttyName': '?'}, '1026': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': '/usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil', 'state': 'Ss', 'ttyName': '?'}, '1029': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/2'}, '1054': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281475.0, 'cmd': '/bin/bash /usr/sbin/core_annotate_util daemon', 'state': 'Ss', 'ttyName': '?'}, '1169': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281480.0, 'cmd': 'python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1170': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281480.0, 'cmd': '/usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1204': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281480.0, 'cmd': 'inotifywait -e modify /var/lib/rpm', 'state': 'S', 'ttyName': '?'}, '1267': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281486.0, 'cmd': 'netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1269': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281486.0, 'cmd': 'netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1295': {'totalActiveTime': 0, 'memPct': 0.9, 'cpuPct': 0.0, 'startTime': 1597281487.0, 'cmd': 'ProcMgr-master', 'state': 'S', 'ttyName': '?'}, '1468': {'totalActiveTime': 559, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281501.0, 'cmd': '/usr/bin/EosOomAdjust', 'state': 'S', 'ttyName': '?'}, '1476': {'totalActiveTime': 1, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281501.0, 'cmd': '[rbfd_vrf_cleanu]', 'state': 'S', 'ttyName': '?'}, '1491': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281501.0, 'cmd': '/usr/sbin/acpid', 'state': 'Ss', 'ttyName': '?'}, '1528': {'totalActiveTime': 127, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281501.0, 'cmd': '/usr/bin/SlabMonitor', 'state': 'S', 'ttyName': '?'}, '1570': {'totalActiveTime': 289, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281504.0, 'cmd': 'StageMgr', 'state': 'S', 'ttyName': '?'}, '1575': {'totalActiveTime': 692, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281505.0, 'cmd': 'Fru', 'state': 'S', 'ttyName': '?'}, '1576': {'totalActiveTime': 288, 'memPct': 1.8, 'cpuPct': 0.0, 'startTime': 1597281505.0, 'cmd': 'Launcher', 'state': 'S', 'ttyName': '?'}, '1696': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netns --agenttitle=Lldp --demuxerOpts=283510534772,283510025210,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp', 'state': 'S', 'ttyName': '?'}, '1697': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1698': {'totalActiveTime': 1061, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'Lldp', 'state': 'S', 'ttyName': '?'}, '1703': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netns --agenttitle=McastCommon --demuxerOpts=283625389593,283557152987,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon', 'state': 'S', 'ttyName': '?'}, '1704': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1706': {'totalActiveTime': 729, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'McastCommon', 'state': 'S', 'ttyName': '?'}, '1708': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netns --agenttitle=PortSec --demuxerOpts=283790275633,283680080063,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec', 'state': 'S', 'ttyName': '?'}, '1709': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': '[kworker/1:1H]', 'state': 'S<', 'ttyName': '?'}, '1712': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1713': {'totalActiveTime': 801, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'PortSec', 'state': 'S', 'ttyName': '?'}, '1727': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netns --agenttitle=Bfd --demuxerOpts=284244580020,284069179516,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd', 'state': 'S', 'ttyName': '?'}, '1728': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1729': {'totalActiveTime': 795, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'Bfd', 'state': 'S', 'ttyName': '?'}, '1732': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netns --agenttitle=Lag --demuxerOpts=288276526737,288091282802,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag', 'state': 'S', 'ttyName': '?'}, '1733': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1734': {'totalActiveTime': 1738, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'Lag', 'state': 'S', 'ttyName': '?'}, '1739': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netns --agenttitle=Ira --demuxerOpts=292170530223,292160868939,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira', 'state': 'S', 'ttyName': '?'}, '1740': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1741': {'totalActiveTime': 739, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'Ira', 'state': 'S', 'ttyName': '?'}, '1742': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netns --agenttitle=LedPolicy --demuxerOpts=296430530784,292790029349,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy', 'state': 'S', 'ttyName': '?'}, '1743': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1744': {'totalActiveTime': 906, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'LedPolicy', 'state': 'S', 'ttyName': '?'}, '1746': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netns --agenttitle=EventMgr --demuxerOpts=296679631718,296505735315,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr', 'state': 'S', 'ttyName': '?'}, '1747': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1748': {'totalActiveTime': 1040, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'EventMgr', 'state': 'S', 'ttyName': '?'}, '1749': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netns --agenttitle=StpTxRx --demuxerOpts=296966020071,296758072413,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx', 'state': 'S', 'ttyName': '?'}, '1750': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1751': {'totalActiveTime': 2251, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'StpTxRx', 'state': 'S', 'ttyName': '?'}, '1754': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netns --agenttitle=StandbyCpld --demuxerOpts=297230697565,297031996334,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1755': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1756': {'totalActiveTime': 291, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1757': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netns --agenttitle=AgentMonitor --demuxerOpts=300703577697,297318029615,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1758': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1761': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netns --agenttitle=Tunnel --demuxerOpts=300917240606,300815189647,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel', 'state': 'S', 'ttyName': '?'}, '1762': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1763': {'totalActiveTime': 459, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'Tunnel', 'state': 'S', 'ttyName': '?'}, '1764': {'totalActiveTime': 758, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'Aaa', 'state': 'Sl', 'ttyName': '?'}, '1766': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netns --agenttitle=StpTopology --demuxerOpts=301455121817,301267954454,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology', 'state': 'S', 'ttyName': '?'}, '1767': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1768': {'totalActiveTime': 733, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'StpTopology', 'state': 'S', 'ttyName': '?'}, '1773': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netns --agenttitle=Acl --demuxerOpts=305296588459,301639833561,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl', 'state': 'S', 'ttyName': '?'}, '1777': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1778': {'totalActiveTime': 1641, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'Acl', 'state': 'S', 'ttyName': '?'}, '1790': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=Stp --demuxerOpts=305473916024,305413789947,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp', 'state': 'S', 'ttyName': '?'}, '1793': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1794': {'totalActiveTime': 1374, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'Stp', 'state': 'S', 'ttyName': '?'}, '1811': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=KernelNetworkInfo --demuxerOpts=309631584027,309381913189,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1813': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1816': {'totalActiveTime': 342, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1819': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=McastCommon6 --demuxerOpts=309865727193,309723632318,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6', 'state': 'S', 'ttyName': '?'}, '1820': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1822': {'totalActiveTime': 728, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'McastCommon6', 'state': 'S', 'ttyName': '?'}, '1830': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netns --agenttitle=LacpTxAgent --demuxerOpts=313593113413,309953840906,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1834': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1837': {'totalActiveTime': 739, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1850': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netns --agenttitle=Arp --demuxerOpts=314118913201,313693882645,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp', 'state': 'S', 'ttyName': '?'}, '1852': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1854': {'totalActiveTime': 1138, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'Arp', 'state': 'S', 'ttyName': '?'}, '1872': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netns --agenttitle=KernelFib --demuxerOpts=314295268017,314276868472,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib', 'state': 'S', 'ttyName': '?'}, '1873': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1875': {'totalActiveTime': 735, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'KernelFib', 'state': 'S', 'ttyName': '?'}, '1882': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netns --agenttitle=Qos --demuxerOpts=318150424387,318144860272,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos', 'state': 'S', 'ttyName': '?'}, '1883': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1884': {'totalActiveTime': 840, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'Qos', 'state': 'S', 'ttyName': '?'}, '1887': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netns --agenttitle=Thermostat --demuxerOpts=318469770561,318468274840,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat', 'state': 'S', 'ttyName': '?'}, '1888': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1889': {'totalActiveTime': 341, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'Thermostat', 'state': 'S', 'ttyName': '?'}, '1892': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netns --agenttitle=L2Rib --demuxerOpts=322522479134,322385632691,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib', 'state': 'S', 'ttyName': '?'}, '1896': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1898': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=TopoAgent --demuxerOpts=326605383165,326604902657,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled', 'state': 'S', 'ttyName': '?'}, '1899': {'totalActiveTime': 340, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'L2Rib', 'state': 'S', 'ttyName': '?'}, '1900': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1901': {'totalActiveTime': 704, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'TopoAgent', 'state': 'S', 'ttyName': '?'}, '1903': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=PowerFuse --demuxerOpts=326894071252,326715955598,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse', 'state': 'S', 'ttyName': '?'}, '1905': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1909': {'totalActiveTime': 290, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'PowerFuse', 'state': 'S', 'ttyName': '?'}, '1914': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=PowerManager --demuxerOpts=327071699135,326953747273,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager', 'state': 'S', 'ttyName': '?'}, '1918': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1922': {'totalActiveTime': 290, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'PowerManager', 'state': 'S', 'ttyName': '?'}, '1929': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=Ebra --demuxerOpts=327151350040,327147282764,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra', 'state': 'S', 'ttyName': '?'}, '1935': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1939': {'totalActiveTime': 1018, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'Ebra', 'state': 'S', 'ttyName': '?'}, '1947': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netns --agenttitle=ReloadCauseAgent --demuxerOpts=331154170429,330747269552,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1948': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1951': {'totalActiveTime': 292, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1957': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netns --agenttitle=SharedSecretProfile --demuxerOpts=331232223925,331231692014,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1961': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1964': {'totalActiveTime': 292, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1967': {'totalActiveTime': 740, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'IgmpSnooping', 'state': 'S', 'ttyName': '?'}, '1984': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netns --agenttitle=StaticRoute --demuxerOpts=335195923420,335185191889,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled', 'state': 'S', 'ttyName': '?'}, '1985': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1986': {'totalActiveTime': 343, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'StaticRoute', 'state': 'S', 'ttyName': '?'}, '1990': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netns --agenttitle=IpRib --demuxerOpts=335500217122,335274316065,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled', 'state': 'S', 'ttyName': '?'}, '1991': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2009': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netns --agenttitle=BgpCliHelper --demuxerOpts=335591889667,335586171622,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled', 'state': 'S', 'ttyName': '?'}, '2012': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2015': {'totalActiveTime': 348, 'memPct': 1.9, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'BgpCliHelper', 'state': 'S', 'ttyName': '?'}, '2025': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netns --agenttitle=ConnectedRoute --demuxerOpts=339572209152,339402675873,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '2027': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2028': {'totalActiveTime': 742, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '2030': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netns --agenttitle=RouteInput --demuxerOpts=340013863328,339680435197,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput', 'state': 'S', 'ttyName': '?'}, '2031': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2032': {'totalActiveTime': 344, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'RouteInput', 'state': 'S', 'ttyName': '?'}, '2033': {'totalActiveTime': 1636, 'memPct': 2.3, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'Bgp', 'state': 'Sl', 'ttyName': '?'}, '2040': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netns --agenttitle=Sfe --demuxerOpts=344444576369,344061658149,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe', 'state': 'S', 'ttyName': '?'}, '2045': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2303': {'totalActiveTime': 28, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': '/usr/sbin/rsyslogd -n', 'state': 'Ssl', 'ttyName': '?'}, '2369': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281546.0, 'cmd': '/usr/sbin/dnsmasq', 'state': 'S', 'ttyName': '?'}, '2630': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': 'netns --agenttitle=LicenseManager --demuxerOpts=395217769752,395217285612,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager', 'state': 'S', 'ttyName': '?'}, '2631': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2632': {'totalActiveTime': 292, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': 'LicenseManager', 'state': 'S', 'ttyName': '?'}, '2635': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': '/usr/bin/conlogd', 'state': 'S', 'ttyName': '?'}, '2636': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': '/sbin/mingetty --noclear /dev/ttyS0', 'state': 'Ss+', 'ttyName': 'ttyS0'}, '2637': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': '/sbin/agetty --noclear tty1 linux', 'state': 'Ss+', 'ttyName': 'tty1'}, '2645': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': "sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2635 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'", 'state': 'S', 'ttyName': '?'}, '2648': {'totalActiveTime': 55, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': '/usr/bin/tail -n 0 --retry --follow=name --pid=2635 /var/log/eos-console', 'state': 'S', 'ttyName': '?'}, '2649': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': 'sed s/\\(.*\\)/\\1\\r/', 'state': 'S', 'ttyName': '?'}, '2691': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281556.0, 'cmd': '[SuperServer] <defunct>', 'state': 'Zs', 'ttyName': '?'}, '2718': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281557.0, 'cmd': 'netns --agenttitle=Ipsec --demuxerOpts=417010822932,417010338793,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec', 'state': 'S', 'ttyName': '?'}, '2720': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281557.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2721': {'totalActiveTime': 2110, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281557.0, 'cmd': 'Ipsec', 'state': 'S', 'ttyName': '?'}, '2723': {'totalActiveTime': 1, 'memPct': 0.4, 'cpuPct': 0.0, 'startTime': 1597281557.0, 'cmd': 'dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1', 'state': 'Ss', 'ttyName': '?'}, '2750': {'totalActiveTime': 83, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281559.0, 'cmd': 'ntpd -u ntp:ntp -g -p /var/run/ntpd.pid', 'state': 'Ssl', 'ttyName': '?'}, '2753': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281562.0, 'cmd': 'fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc', 'state': 'Ss', 'ttyName': '?'}, '3323': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281717.0, 'cmd': '/usr/libexec/strongswan/starter --daemon charon', 'state': 'Ss', 'ttyName': '?'}, '3325': {'totalActiveTime': 126, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281717.0, 'cmd': '/usr/libexec/strongswan/charon --use-syslog', 'state': 'Ssl', 'ttyName': '?'}, '12495': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1598897705.0, 'cmd': '/bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh', 'state': 'S', 'ttyName': '?'}, '13396': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599667620.0, 'cmd': '[kworker/0:0]', 'state': 'S', 'ttyName': '?'}, '16265': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668341.0, 'cmd': '[kworker/0:2]', 'state': 'S', 'ttyName': '?'}, '18653': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597436394.0, 'cmd': 'netns --agenttitle=CapiApp --demuxerOpts=665436806498288,665436806007998,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini', 'state': 'S', 'ttyName': '?'}, '18654': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597436394.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '18655': {'totalActiveTime': 375, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597436394.0, 'cmd': 'CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Sl', 'ttyName': '?'}, '18699': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597436395.0, 'cmd': 'nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;', 'state': 'Ss', 'ttyName': '?'}, '18701': {'totalActiveTime': 107, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597436395.0, 'cmd': 'nginx: worker process ', 'state': 'S', 'ttyName': '?'}, '18917': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668700.0, 'cmd': '[kworker/0:1]', 'state': 'S', 'ttyName': '?'}, '22344': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669061.0, 'cmd': '[kworker/0:3]', 'state': 'S', 'ttyName': '?'}, '22359': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669061.0, 'cmd': '[kworker/0:4]', 'state': 'S', 'ttyName': '?'}, '23589': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669162.0, 'cmd': 'sshd: root [net] ', 'state': 'S', 'ttyName': '?'}, '23845': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669170.0, 'cmd': 'ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww', 'state': 'Rs', 'ttyName': '?'}}, 'timeInfo': {'upTime': 2387710.91, 'loadAvg': [2.12, 1.81, 1.49], 'users': 0, 'currentTime': 1599669171.798803}}, 'text': " 16:32:52 up 27 days, 15:15, 0 users, load average: 2.12, 1.81, 1.49\n PID %CPU %MEM TT STAT STARTED TIME CMD\n 2051 101 3.4 ? Sl Aug 13 28-00:35:44 Sfe\n 1720 2.4 1.8 ? Sl Aug 13 15:58:37 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.12.101 -taillogs -grpcaddr=0.0.0.0:6042\n12509 0.5 0.7 ? SNl Aug 31 01:15:14 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config\n23586 0.5 0.1 ? Ss 16:32:42 00:00:00 sshd: root [priv] \n 1571 0.3 7.1 ? Sl Aug 13 02:05:49 ConfigAgent\n 1296 0.2 0.9 ? S Aug 13 01:32:30 ProcMgr-worker\n 1529 0.2 2.6 ? S Aug 13 01:36:43 Sysdb\n 1735 0.1 1.7 ? S Aug 13 00:49:00 SuperServer\n 1759 0.1 1.0 ? S Aug 13 01:17:06 AgentMonitor\n 1992 0.1 1.6 ? S Aug 13 00:46:16 IpRib\n 1 0.0 0.0 ? Ss Aug 13 00:06:04 /sbin/init\n 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd]\n 3 0.0 0.0 ? S Aug 13 00:00:12 [ksoftirqd/0]\n 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H]\n 7 0.0 0.0 ? S Aug 13 00:00:17 [rcu_preempt]\n 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched]\n 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh]\n 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0]\n 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain]\n 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0]\n 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0]\n 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1]\n 15 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/1]\n 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1]\n 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1]\n 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0]\n 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H]\n 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2]\n 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2]\n 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2]\n 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2]\n 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0]\n 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H]\n 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3]\n 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3]\n 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3]\n 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3]\n 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0]\n 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H]\n 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs]\n 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns]\n 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd]\n 35 0.0 0.0 ? S Aug 13 00:00:14 [khungtaskd2]\n 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper]\n 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback]\n 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0]\n 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto]\n 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd]\n 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd]\n 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff]\n 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller]\n 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task]\n 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd]\n 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd]\n 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl]\n 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod]\n 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod]\n 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0]\n 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat]\n 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod]\n 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd]\n 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme]\n 73 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:1]\n 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd]\n 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf]\n 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq]\n 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-]\n 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver]\n 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H]\n 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0]\n 387 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd\n 414 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f\n 497 0.0 0.0 ? S< Aug 13 00:00:00 [ena]\n 705 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1]\n 734 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground\n 738 0.0 0.0 ? Ss Aug 13 00:02:52 /usr/lib/systemd/systemd-logind\n 740 0.0 0.1 ? Ss Aug 13 00:04:31 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation\n 752 0.0 0.0 ? Ss Aug 13 00:00:52 /usr/bin/ProcMonitor\n 796 0.0 0.0 ? Ss Aug 13 00:00:05 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid\n 811 0.0 0.0 ? S<s Aug 13 00:00:21 /usr/bin/wdogdev -t 60\n 820 0.0 0.0 ? Ss Aug 13 00:00:16 /usr/sbin/crond -n\n 867 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:3]\n 976 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local\n 977 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1007 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys\n 1008 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1025 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure\n 1026 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil\n 1029 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1054 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon\n 1169 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1170 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1204 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm\n 1267 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1269 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1295 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master\n 1468 0.0 0.0 ? S Aug 13 00:09:19 /usr/bin/EosOomAdjust\n 1476 0.0 0.0 ? S Aug 13 00:00:01 [rbfd_vrf_cleanu]\n 1491 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid\n 1528 0.0 0.0 ? S Aug 13 00:02:07 /usr/bin/SlabMonitor\n 1570 0.0 1.2 ? S Aug 13 00:04:49 StageMgr\n 1575 0.0 1.4 ? S Aug 13 00:11:32 Fru\n 1576 0.0 1.8 ? S Aug 13 00:04:48 Launcher\n 1696 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=283510534772,283510025210,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp\n 1697 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1698 0.0 1.2 ? S Aug 13 00:17:41 Lldp\n 1703 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=283625389593,283557152987,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon\n 1704 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1706 0.0 1.2 ? S Aug 13 00:12:09 McastCommon\n 1708 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=283790275633,283680080063,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec\n 1709 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H]\n 1712 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1713 0.0 1.2 ? S Aug 13 00:13:21 PortSec\n 1727 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=284244580020,284069179516,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd\n 1728 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1729 0.0 1.4 ? S Aug 13 00:13:15 Bfd\n 1732 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=288276526737,288091282802,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag\n 1733 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1734 0.0 1.3 ? S Aug 13 00:28:58 Lag\n 1739 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=292170530223,292160868939,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira\n 1740 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1741 0.0 1.5 ? S Aug 13 00:12:19 Ira\n 1742 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=296430530784,292790029349,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy\n 1743 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1744 0.0 1.2 ? S Aug 13 00:15:06 LedPolicy\n 1746 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=296679631718,296505735315,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr\n 1747 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1748 0.0 1.3 ? S Aug 13 00:17:20 EventMgr\n 1749 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=296966020071,296758072413,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx\n 1750 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1751 0.0 1.2 ? S Aug 13 00:37:31 StpTxRx\n 1754 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=297230697565,297031996334,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld\n 1755 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1756 0.0 1.1 ? S Aug 13 00:04:51 StandbyCpld\n 1757 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=300703577697,297318029615,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor\n 1758 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1761 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=300917240606,300815189647,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel\n 1762 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1763 0.0 1.2 ? S Aug 13 00:07:39 Tunnel\n 1764 0.0 1.5 ? Sl Aug 13 00:12:38 Aaa\n 1766 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=301455121817,301267954454,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology\n 1767 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1768 0.0 1.2 ? S Aug 13 00:12:13 StpTopology\n 1773 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=305296588459,301639833561,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl\n 1777 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1778 0.0 1.4 ? S Aug 13 00:27:21 Acl\n 1790 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=305473916024,305413789947,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp\n 1793 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1794 0.0 1.1 ? S Aug 13 00:22:54 Stp\n 1811 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=309631584027,309381913189,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo\n 1813 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1816 0.0 1.1 ? S Aug 13 00:05:42 KernelNetworkInfo\n 1819 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=309865727193,309723632318,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6\n 1820 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1822 0.0 1.2 ? S Aug 13 00:12:08 McastCommon6\n 1830 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=313593113413,309953840906,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent\n 1834 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1837 0.0 1.2 ? S Aug 13 00:12:19 LacpTxAgent\n 1850 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=314118913201,313693882645,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp\n 1852 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1854 0.0 1.5 ? S Aug 13 00:18:58 Arp\n 1872 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=314295268017,314276868472,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib\n 1873 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1875 0.0 1.4 ? S Aug 13 00:12:15 KernelFib\n 1882 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=318150424387,318144860272,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos\n 1883 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1884 0.0 1.2 ? S Aug 13 00:14:00 Qos\n 1887 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=318469770561,318468274840,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat\n 1888 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1889 0.0 1.1 ? S Aug 13 00:05:41 Thermostat\n 1892 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=322522479134,322385632691,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib\n 1896 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1898 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=326605383165,326604902657,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled\n 1899 0.0 1.2 ? S Aug 13 00:05:40 L2Rib\n 1900 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1901 0.0 1.2 ? S Aug 13 00:11:44 TopoAgent\n 1903 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=326894071252,326715955598,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse\n 1905 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1909 0.0 1.1 ? S Aug 13 00:04:50 PowerFuse\n 1914 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=327071699135,326953747273,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager\n 1918 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1922 0.0 1.1 ? S Aug 13 00:04:50 PowerManager\n 1929 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=327151350040,327147282764,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra\n 1935 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1939 0.0 1.4 ? S Aug 13 00:16:58 Ebra\n 1947 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=331154170429,330747269552,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent\n 1948 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1951 0.0 1.1 ? S Aug 13 00:04:52 ReloadCauseAgent\n 1957 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=331232223925,331231692014,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile\n 1961 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1964 0.0 1.1 ? S Aug 13 00:04:52 SharedSecretProfile\n 1967 0.0 1.5 ? S Aug 13 00:12:20 IgmpSnooping\n 1984 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=335195923420,335185191889,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled\n 1985 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1986 0.0 1.3 ? S Aug 13 00:05:43 StaticRoute\n 1990 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=335500217122,335274316065,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled\n 1991 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2009 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=335591889667,335586171622,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled\n 2012 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2015 0.0 1.9 ? S Aug 13 00:05:48 BgpCliHelper\n 2025 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=339572209152,339402675873,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute\n 2027 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2028 0.0 1.3 ? S Aug 13 00:12:22 ConnectedRoute\n 2030 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=340013863328,339680435197,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput\n 2031 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2032 0.0 1.3 ? S Aug 13 00:05:44 RouteInput\n 2033 0.0 2.3 ? Sl Aug 13 00:27:16 Bgp\n 2040 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=344444576369,344061658149,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe\n 2045 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2303 0.0 0.0 ? Ssl Aug 13 00:00:28 /usr/sbin/rsyslogd -n\n 2369 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq\n 2630 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=395217769752,395217285612,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager\n 2631 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2632 0.0 1.1 ? S Aug 13 00:04:52 LicenseManager\n 2635 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd\n 2636 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0\n 2637 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux\n 2645 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2635 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'\n 2648 0.0 0.0 ? S Aug 13 00:00:55 /usr/bin/tail -n 0 --retry --follow=name --pid=2635 /var/log/eos-console\n 2649 0.0 0.0 ? S Aug 13 00:00:00 sed s/\\(.*\\)/\\1\\r/\n 2691 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct>\n 2718 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=417010822932,417010338793,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec\n 2720 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2721 0.0 1.2 ? S Aug 13 00:35:10 Ipsec\n 2723 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1\n 2750 0.0 0.1 ? Ssl Aug 13 00:01:23 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid\n 2753 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc\n 3323 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon\n 3325 0.0 0.1 ? Ssl Aug 13 00:02:06 /usr/libexec/strongswan/charon --use-syslog\n12495 0.0 0.0 ? S Aug 31 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh\n13396 0.0 0.0 ? S 16:07:00 00:00:00 [kworker/0:0]\n16265 0.0 0.0 ? S 16:19:01 00:00:00 [kworker/0:2]\n18653 0.0 0.0 ? S Aug 14 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=665436806498288,665436806007998,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini\n18654 0.0 0.3 ? Ss Aug 14 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n18655 0.0 1.3 ? Sl Aug 14 00:06:15 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n18699 0.0 0.0 ? Ss Aug 14 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;\n18701 0.0 0.1 ? S Aug 14 00:01:47 nginx: worker process \n18917 0.0 0.0 ? S 16:25:00 00:00:00 [kworker/0:1]\n22344 0.0 0.0 ? S 16:31:01 00:00:00 [kworker/0:3]\n22359 0.0 0.0 ? S 16:31:01 00:00:00 [kworker/0:4]\n23589 0.0 0.0 ? S 16:32:42 00:00:00 sshd: root [net] \n23851 0.0 0.0 ? S 16:32:50 00:00:00 sshd: root [pam] \n23862 0.0 0.0 ? Rs 16:32:51 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww\n23864 0.0 0.0 ? Rs 16:32:51 00:00:00 [ConfigAgent]\n"}, 'show running-config section username': {'json': {'output': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'text': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'show aaa counters': {'json': {'authenticationSuccess': 82028, 'authorizationAllowed': 721, 'accountingSuccess': 0, 'pendingAccountingRequests': 0, 'authorizationDenied': 0, 'authenticationFail': 1, 'authenticationUnavailable': 96, 'accountingError': 0, 'authorizationUnavailable': 0}, 'text': 'Authentication\n Successful: 82030\n Failed: 1\n Service unavailable: 96\n\nAuthorization\n Allowed: 721\n Denied: 0\n Service unavailable: 0\n\nAccounting\n Successful: 0\n Error: 0\n Pending: 0\n\nLast time counters were cleared: never\n'}, 'show users detail': {'json': {'serials': {}, 'nonInteractives': {'82142': {'username': 'kgrozis', 'state': 'established', 'sessionStartTime': 1599669160, 'role': '', 'service': 'commandApi', 'authMethod': 'local'}}, 'vtys': {}}, 'text': 'Session Username Roles TTY State Duration Auth Remote Host \n-------- --------- ------- ------------- ------- ---------- ------- ----------- \n82142 kgrozis command-api E 0:00:14 local \n'}, 'show aaa methods all': {'json': {'authorization': {'commandsAuthzMethods': {'privilege0-15': {'methods': ['none']}}, 'execAuthzMethods': {'exec': {'methods': ['none']}}}, 'authentication': {'loginAuthenMethods': {'default': {'methods': ['local']}}, 'dot1xAuthenMethods': {'default': {'methods': []}}, 'enableAuthenMethods': {'default': {'methods': ['local']}}}, 'accounting': {'systemAcctMethods': {'system': {'defaultMethods': [], 'consoleMethods': []}}, 'execAcctMethods': {'exec': {'defaultMethods': [], 'consoleMethods': []}}, 'commandsAcctMethods': {'privilege0-15': {'defaultMethods': [], 'consoleMethods': []}}, 'dot1xAcctMethods': {'dot1x': {'defaultMethods': [], 'consoleMethods': []}}}}, 'text': 'Authentication method lists for LOGIN:\n name=default methods=local\nAuthentication method list for ENABLE:\n name=default methods=local\nAuthentication method list for DOT1X:\n name=default methods=\nAuthorization method lists for COMMANDS:\n name=privilege0-15 methods=none\nAuthorization method list for EXEC:\n name=exec methods=none\nAccounting method lists for COMMANDS:\n name=privilege0-15 default-action=none\nAccounting method list for EXEC:\n name=exec default-action=none\nAccounting method list for SYSTEM:\n name=system default-action=none\nAccounting method list for DOT1X:\n name=dot1x default-action=none\n'}, 'show ntp status': {'json': {'status': 'synchronised', 'pollingInterval': 512, 'stratum': 4, 'maxEstimatedError': 21, 'server': '169.254.169.123'}, 'text': 'synchronised to NTP server (169.254.169.123) at stratum 4\n time correct to within 21 ms\n polling server every 512 s\n\n'}, 'show ntp associations': {'json': {'peers': {'169.254.169.123': {'delay': 0.136, 'jitter': 0.311, 'lastReceived': 1599668836.0, 'peerType': 'local', 'reachabilityHistory': [True, True, True, True, True, True, True, True], 'condition': 'sys.peer', 'offset': -1.768, 'peerIpAddr': '169.254.169.123', 'pollInterval': 512, 'refid': '169.254.169.122', 'stratumLevel': 3}}}, 'text': ' remote refid st t when poll reach delay offset jitter\n==============================================================================\n*169.254.169.123 169.254.169.12 3 l 341 512 377 0.136 -1.768 0.311\n'}, 'show daemon': {'json': {'daemons': {'TerminAttr': {'running': True, 'option': {}, 'starttime': 1597281527.471623, 'pid': 1720, 'enabled': True, 'uptime': 2387650.41, 'data': {}, 'isSdkAgent': False}}}, 'text': 'Process: TerminAttr (running with PID 1720)\nUptime: 27 days, 15:14:10 (Start time: Thu Aug 13 01:18:47 2020)\nNo configuration options stored.\n\nNo status data stored.\n\n'}, 'show zerotouch': {'json': {'mode': 'disabled', 'scriptTimeout': 900}, 'text': '\nZeroTouch Mode: Disabled\nScript Exec Timeout: 900\n'}, 'dir flash:zerotouch-config': {'json': {'messages': ['Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7293403136 bytes free)\n']}, 'text': 'Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7293403136 bytes free)\n'}, 'show system environment temperature': {'json': {'cardSlots': [], 'powerSupplySlots': [], 'shutdownOnOverheat': True, 'tempSensors': [], 'systemStatus': 'unknownTemperatureAlarmLevel'}, 'text': 'System temperature status is: Unknown\n'}, 'show system environment cooling': {'json': {'overrideFanSpeed': 0, 'coolingMode': 'automatic', 'powerSupplySlots': [], 'fanTraySlots': [], 'minFanSpeed': 0, 'shutdownOnInsufficientFans': True, 'systemStatus': 'unknownCoolingAlarmLevel', 'airflowDirection': 'unknownAirflowDirection'}, 'text': 'System cooling status is: Unknown\nAmbient temperature: Unknown\n Config Actual Speed Stable\nFan Status Speed Speed Uptime Stability Uptime\n--- ------ ------ ------ ------ --------- ------\n'}, 'show management api http-commands': {'json': {'httpServer': {'running': False, 'configured': False, 'port': 80}, 'users': {'kgrozis': {'requestCount': 75244, 'bytesOut': 194453586, 'lastHitTime': 1599669179.8044221, 'bytesIn': 12163312}}, 'bytesOut': 194453586, 'logLevel': 'none', 'dscpValue': 0, 'corsOrigins': [], 'hitCount': 80147, 'vrf': 'default', 'lastHitTime': 1599669179.8043664, 'tlsProtocol': ['1.0', '1.1', '1.2'], 'localHttpServer': {'running': False, 'configured': False, 'port': 8080}, 'executionTime': 7847.868233990972, 'enabled': True, 'fipsEnabled': False, 'httpsServer': {'running': True, 'configured': True, 'port': 443}, 'requestCount': 75244, 'vrfs': ['default'], 'urls': ['Ethernet1 : https://11.201.12.101:443', 'Ethernet100 : https://11.201.8.1:443', 'Loopback0 : https://11.201.0.2:443', 'Loopback10 : https://198.18.0.36:443'], 'unixSocketServer': {'running': False, 'configured': False}, 'bytesIn': 12163312, 'commandCount': 150488, 'iframeAncestors': []}, 'text': 'Enabled: Yes\nHTTPS server: running, set to use port 443\nHTTP server: shutdown, set to use port 80\nLocal HTTP server: shutdown, no authentication, set to use port 8080\nUnix Socket server: shutdown, no authentication\nVRFs: default\nHits: 80151\nLast hit: 0 seconds ago\nBytes in: 12163907\nBytes out: 194465833\nRequests: 75248\nCommands: 150496\nDuration: 7848.120 seconds\nSSL Profile: none\nFIPS Mode: No\nQoS DSCP: 0\nLog Level: none\nCSP Frame Ancestor: None\nTLS Protocols: 1.0 1.1 1.2\n User Requests Bytes in Bytes out Last hit \n------------- -------------- -------------- --------------- ------------- \n kgrozis 75248 12163907 194465833 0 seconds ago \n\nURLs \n--------------------------------------- \nEthernet1 : https://11.201.12.101:443 \nEthernet100 : https://11.201.8.1:443 \nLoopback0 : https://11.201.0.2:443 \nLoopback10 : https://198.18.0.36:443 \n\n'}, 'show tacacs': {'json': {'tacacsServers': [], 'groups': {}, 'srcIntf': {}, 'lastCounterClearTime': 0.0}, 'text': '\nLast time counters were cleared: never\n'}, 'show logging': {'json': {'output': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:20 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:20 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:26 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:29 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:29 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:35 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:11 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:13 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:19 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:43 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:45 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:51 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:38 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:39 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:45 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:41 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:42 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:48 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:07 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:15 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:15 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}, 'text': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:20 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:20 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:26 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:29 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:29 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:35 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:11 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:13 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:19 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:43 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:45 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:51 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:38 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:39 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:45 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:41 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:42 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:48 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:07 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:15 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:09 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:15 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEosRR1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}}} test_name: test_if_files_on_ test_parameters: {'parameters': {'show_log': 'show_output.log'}} INFO root:tests_tools.py:250 Return model data and text output from show commands and log text output for show file information flash:zerotouch-config with connnection Node(connection=EapiConnection(transport=https://3.22.137.44:443//command-api)) INFO root:tests_tools.py:254 Raw json output of show file information flash:zerotouch-config on dut kg-topology-CloudEosRR1: [{'command': 'show file information flash:zerotouch-config', 'result': {'isDir': False, 'path': 'flash:/zerotouch-config', 'fileName': '/mnt/flash/zerotouch-config'}, 'encoding': 'json'}] INFO root:tests_tools.py:257 Raw text output of show file information flash:zerotouch-config on dut kg-topology-CloudEosRR1: [{'output': 'flash:/zerotouch-config:\n type is file\n'}] INFO root:tests_tools.py:311 Open log file for logging test show commands INFO root:tests_tools.py:315 Opening file show_output.log and append show output: flash:/zerotouch-config: type is file INFO root:test_filesystem.py:80 WHEN flash:zerotouch-config file isDir state is |False| INFO root:test_filesystem.py:84 THEN test case result is |True| INFO root:test_filesystem.py:85 OUTPUT of |show file information flash:zerotouch-config| is : [{'output': 'flash:/zerotouch-config:\n type is file\n'}] | ||||
| Passed | kg-topology-CloudEosRR1 | tests/tacacs/test_tacacs.py::TacacsTests::test_if_tacacs_is_receiving_messages_on_[kg-topology-CloudEosRR1] | Verify tacacs messages are received correctly | 0.00 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| does not have TACACS servers configured -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_tacacs.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_tacacs_is_receiving_messages_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show tacacs| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show tacacs| on kg-topology-CloudEosRR1 INFO root:tests_tools.py:377 Verify if tacacs server(s) are configured on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:383 0 tacacs serverws are configured so returning False INFO root:test_tacacs.py:136 TEST is |kg-topology-CloudEosRR1| receiving messages to TACACS server | ||||
| Passed | kg-topology-CloudEosRR1 | tests/ntp/test_ntp.py::NTPTests::test_if_process_is_running_on_[kg-topology-CloudEosRR1] | Verify ntp processes are running | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| has |1| process for ntpd -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_ntp.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_process_is_running_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show processes| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show processes| on kg-topology-CloudEosRR1 INFO root:test_ntp.py:148 TEST is ntpd running on |kg-topology-CloudEosRR1| INFO root:test_ntp.py:149 GIVEN ntpd state is |1| INFO root:test_ntp.py:155 WHEN ntpd number is |1| INFO root:test_ntp.py:158 THEN test case result is |True| INFO root:test_ntp.py:159 OUTPUT of |show processes| is : 16:32:51 up 27 days, 15:15, 0 users, load average: 2.12, 1.81, 1.49 PID %CPU %MEM TT STAT STARTED TIME CMD 2051 101 3.4 ? Sl Aug 13 28-00:35:43 Sfe 1720 2.4 1.8 ? Sl Aug 13 15:58:37 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.12.101 -taillogs -grpcaddr=0.0.0.0:6042 23850 1.0 0.0 ? Rs 16:32:50 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww 12509 0.5 0.7 ? SNl Aug 31 01:15:14 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config 23586 0.5 0.1 ? Ss 16:32:42 00:00:00 sshd: root [priv] 1571 0.3 7.1 ? Sl Aug 13 02:05:49 ConfigAgent 1296 0.2 0.9 ? S Aug 13 01:32:30 ProcMgr-worker 1529 0.2 2.6 ? S Aug 13 01:36:43 Sysdb 1735 0.1 1.7 ? S Aug 13 00:49:00 SuperServer 1759 0.1 1.0 ? S Aug 13 01:17:06 AgentMonitor 1992 0.1 1.6 ? S Aug 13 00:46:16 IpRib 1 0.0 0.0 ? Ss Aug 13 00:06:04 /sbin/init 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd] 3 0.0 0.0 ? S Aug 13 00:00:12 [ksoftirqd/0] 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H] 7 0.0 0.0 ? S Aug 13 00:00:17 [rcu_preempt] 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched] 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh] 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0] 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain] 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0] 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0] 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1] 15 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/1] 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1] 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1] 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0] 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H] 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2] 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2] 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2] 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2] 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0] 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H] 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3] 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3] 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3] 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3] 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0] 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H] 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs] 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns] 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd] 35 0.0 0.0 ? S Aug 13 00:00:14 [khungtaskd2] 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper] 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback] 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0] 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto] 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd] 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd] 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff] 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller] 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task] 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd] 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd] 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl] 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod] 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod] 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0] 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat] 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod] 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd] 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme] 73 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:1] 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd] 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf] 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq] 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-] 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver] 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H] 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0] 387 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd 414 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f 497 0.0 0.0 ? S< Aug 13 00:00:00 [ena] 705 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1] 734 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground 738 0.0 0.0 ? Ss Aug 13 00:02:52 /usr/lib/systemd/systemd-logind 740 0.0 0.1 ? Ss Aug 13 00:04:31 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 752 0.0 0.0 ? Ss Aug 13 00:00:52 /usr/bin/ProcMonitor 796 0.0 0.0 ? Ss Aug 13 00:00:05 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid 811 0.0 0.0 ? S<s Aug 13 00:00:21 /usr/bin/wdogdev -t 60 820 0.0 0.0 ? Ss Aug 13 00:00:16 /usr/sbin/crond -n 867 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:3] 976 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local 977 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1007 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys 1008 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1025 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure 1026 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil 1029 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1054 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon 1169 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1170 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1204 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm 1267 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1269 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1295 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master 1468 0.0 0.0 ? S Aug 13 00:09:19 /usr/bin/EosOomAdjust 1476 0.0 0.0 ? S Aug 13 00:00:01 [rbfd_vrf_cleanu] 1491 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid 1528 0.0 0.0 ? S Aug 13 00:02:07 /usr/bin/SlabMonitor 1570 0.0 1.2 ? S Aug 13 00:04:49 StageMgr 1575 0.0 1.4 ? S Aug 13 00:11:32 Fru 1576 0.0 1.8 ? S Aug 13 00:04:48 Launcher 1696 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=283510534772,283510025210,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp 1697 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1698 0.0 1.2 ? S Aug 13 00:17:41 Lldp 1703 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=283625389593,283557152987,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon 1704 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1706 0.0 1.2 ? S Aug 13 00:12:09 McastCommon 1708 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=283790275633,283680080063,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec 1709 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H] 1712 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1713 0.0 1.2 ? S Aug 13 00:13:21 PortSec 1727 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=284244580020,284069179516,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd 1728 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1729 0.0 1.4 ? S Aug 13 00:13:15 Bfd 1732 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=288276526737,288091282802,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag 1733 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1734 0.0 1.3 ? S Aug 13 00:28:58 Lag 1739 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=292170530223,292160868939,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira 1740 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1741 0.0 1.5 ? S Aug 13 00:12:19 Ira 1742 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=296430530784,292790029349,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy 1743 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1744 0.0 1.2 ? S Aug 13 00:15:06 LedPolicy 1746 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=296679631718,296505735315,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr 1747 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1748 0.0 1.3 ? S Aug 13 00:17:20 EventMgr 1749 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=296966020071,296758072413,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx 1750 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1751 0.0 1.2 ? S Aug 13 00:37:31 StpTxRx 1754 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=297230697565,297031996334,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld 1755 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1756 0.0 1.1 ? S Aug 13 00:04:51 StandbyCpld 1757 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=300703577697,297318029615,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor 1758 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1761 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=300917240606,300815189647,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel 1762 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1763 0.0 1.2 ? S Aug 13 00:07:39 Tunnel 1764 0.0 1.5 ? Sl Aug 13 00:12:38 Aaa 1766 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=301455121817,301267954454,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology 1767 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1768 0.0 1.2 ? S Aug 13 00:12:13 StpTopology 1773 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=305296588459,301639833561,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl 1777 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1778 0.0 1.4 ? S Aug 13 00:27:21 Acl 1790 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=305473916024,305413789947,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp 1793 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1794 0.0 1.1 ? S Aug 13 00:22:54 Stp 1811 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=309631584027,309381913189,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo 1813 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1816 0.0 1.1 ? S Aug 13 00:05:42 KernelNetworkInfo 1819 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=309865727193,309723632318,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6 1820 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1822 0.0 1.2 ? S Aug 13 00:12:08 McastCommon6 1830 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=313593113413,309953840906,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent 1834 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1837 0.0 1.2 ? S Aug 13 00:12:19 LacpTxAgent 1850 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=314118913201,313693882645,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp 1852 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1854 0.0 1.5 ? S Aug 13 00:18:58 Arp 1872 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=314295268017,314276868472,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib 1873 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1875 0.0 1.4 ? S Aug 13 00:12:15 KernelFib 1882 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=318150424387,318144860272,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos 1883 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1884 0.0 1.2 ? S Aug 13 00:14:00 Qos 1887 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=318469770561,318468274840,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat 1888 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1889 0.0 1.1 ? S Aug 13 00:05:41 Thermostat 1892 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=322522479134,322385632691,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib 1896 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1898 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=326605383165,326604902657,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled 1899 0.0 1.2 ? S Aug 13 00:05:40 L2Rib 1900 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1901 0.0 1.2 ? S Aug 13 00:11:44 TopoAgent 1903 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=326894071252,326715955598,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse 1905 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1909 0.0 1.1 ? S Aug 13 00:04:50 PowerFuse 1914 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=327071699135,326953747273,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager 1918 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1922 0.0 1.1 ? S Aug 13 00:04:50 PowerManager 1929 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=327151350040,327147282764,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra 1935 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1939 0.0 1.4 ? S Aug 13 00:16:58 Ebra 1947 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=331154170429,330747269552,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent 1948 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1951 0.0 1.1 ? S Aug 13 00:04:52 ReloadCauseAgent 1957 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=331232223925,331231692014,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile 1961 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1964 0.0 1.1 ? S Aug 13 00:04:52 SharedSecretProfile 1967 0.0 1.5 ? S Aug 13 00:12:20 IgmpSnooping 1984 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=335195923420,335185191889,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled 1985 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1986 0.0 1.3 ? S Aug 13 00:05:43 StaticRoute 1990 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=335500217122,335274316065,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled 1991 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2009 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=335591889667,335586171622,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled 2012 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2015 0.0 1.9 ? S Aug 13 00:05:48 BgpCliHelper 2025 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=339572209152,339402675873,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute 2027 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2028 0.0 1.3 ? S Aug 13 00:12:22 ConnectedRoute 2030 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=340013863328,339680435197,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput 2031 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2032 0.0 1.3 ? S Aug 13 00:05:44 RouteInput 2033 0.0 2.3 ? Sl Aug 13 00:27:16 Bgp 2040 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=344444576369,344061658149,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe 2045 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2303 0.0 0.0 ? Ssl Aug 13 00:00:28 /usr/sbin/rsyslogd -n 2369 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq 2630 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=395217769752,395217285612,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager 2631 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2632 0.0 1.1 ? S Aug 13 00:04:52 LicenseManager 2635 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd 2636 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0 2637 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux 2645 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2635 /var/log/eos-console | sed 's/\(.*\)/\1\r/' 2648 0.0 0.0 ? S Aug 13 00:00:55 /usr/bin/tail -n 0 --retry --follow=name --pid=2635 /var/log/eos-console 2649 0.0 0.0 ? S Aug 13 00:00:00 sed s/\(.*\)/\1\r/ 2691 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct> 2718 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=417010822932,417010338793,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec 2720 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2721 0.0 1.2 ? S Aug 13 00:35:10 Ipsec 2723 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1 2750 0.0 0.1 ? Ssl Aug 13 00:01:23 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid 2753 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc 3323 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon 3325 0.0 0.1 ? Ssl Aug 13 00:02:06 /usr/libexec/strongswan/charon --use-syslog 12495 0.0 0.0 ? S Aug 31 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh 13396 0.0 0.0 ? S 16:07:00 00:00:00 [kworker/0:0] 16265 0.0 0.0 ? S 16:19:01 00:00:00 [kworker/0:2] 18653 0.0 0.0 ? S Aug 14 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=665436806498288,665436806007998,tbl://sysdb/+n,Sysdb (pid:1529) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini 18654 0.0 0.3 ? Ss Aug 14 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 18655 0.0 1.3 ? Sl Aug 14 00:06:15 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 18699 0.0 0.0 ? Ss Aug 14 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid; 18701 0.0 0.1 ? S Aug 14 00:01:47 nginx: worker process 18917 0.0 0.0 ? S 16:25:00 00:00:00 [kworker/0:1] 22344 0.0 0.0 ? S 16:31:01 00:00:00 [kworker/0:3] 22359 0.0 0.0 ? S 16:31:01 00:00:00 [kworker/0:4] 23589 0.0 0.0 ? S 16:32:42 00:00:00 sshd: root [net] 23851 0.0 0.0 ? S 16:32:50 00:00:00 sshd: root [pam] | ||||
| Passed | kg-topology-CloudEosRR1 | tests/dns/test_dns.py::DNSTests::test_if_dns_resolves_on_[kg-topology-CloudEosRR1] | Verify DNS is running by performing pings and verifying name resolution | 1.11 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| DNS resolution |Passed| for google.com On router |kg-topology-CloudEosRR1| DNS resolution |Passed| for cnn.com On router |kg-topology-CloudEosRR1| DNS resolution |Passed| for arista.com -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_dns.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_dns_resolves_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True} INFO root:test_dns.py:70 TEST can |kg-topology-CloudEosRR1| resolve google.com INFO root:test_dns.py:71 GIVEN URL is |google.com| INFO root:test_dns.py:72 WHEN exception is |Name or service not known| string INFO root:test_dns.py:89 THEN test case result is |Passed| INFO root:test_dns.py:90 OUTPUT of |ping google.com| is : PING google.com (172.217.0.14) 72(100) bytes of data. 76 bytes from ord38s04-in-f14.1e100.net (172.217.0.14): icmp_seq=1 ttl=101 (truncated) 76 bytes from ord38s04-in-f14.1e100.net (172.217.0.14): icmp_seq=2 ttl=101 (truncated) 76 bytes from ord38s04-in-f14.1e100.net (172.217.0.14): icmp_seq=3 ttl=101 (truncated) 76 bytes from ord38s04-in-f14.1e100.net (172.217.0.14): icmp_seq=4 ttl=101 (truncated) 76 bytes from ord38s04-in-f14.1e100.net (172.217.0.14): icmp_seq=5 ttl=101 (truncated) --- google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 62ms rtt min/avg/max/mdev = 17.231/17.346/17.731/0.225 ms, pipe 2, ipg/ewma 15.596/17.318 ms INFO root:test_dns.py:70 TEST can |kg-topology-CloudEosRR1| resolve cnn.com INFO root:test_dns.py:71 GIVEN URL is |cnn.com| INFO root:test_dns.py:72 WHEN exception is |Name or service not known| string INFO root:test_dns.py:89 THEN test case result is |Passed| INFO root:test_dns.py:90 OUTPUT of |ping cnn.com| is : PING cnn.com (151.101.1.67) 72(100) bytes of data. 80 bytes from 151.101.1.67 (151.101.1.67): icmp_seq=1 ttl=39 time=11.2 ms 80 bytes from 151.101.1.67 (151.101.1.67): icmp_seq=2 ttl=39 time=11.1 ms 80 bytes from 151.101.1.67 (151.101.1.67): icmp_seq=3 ttl=39 time=11.1 ms 80 bytes from 151.101.1.67 (151.101.1.67): icmp_seq=4 ttl=39 time=11.1 ms 80 bytes from 151.101.1.67 (151.101.1.67): icmp_seq=5 ttl=39 time=11.1 ms --- cnn.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 75ms rtt min/avg/max/mdev = 11.145/11.183/11.221/0.119 ms, pipe 2, ipg/ewma 18.811/11.202 ms INFO root:test_dns.py:70 TEST can |kg-topology-CloudEosRR1| resolve arista.com INFO root:test_dns.py:71 GIVEN URL is |arista.com| INFO root:test_dns.py:72 WHEN exception is |Name or service not known| string INFO root:test_dns.py:89 THEN test case result is |Passed| INFO root:test_dns.py:90 OUTPUT of |ping arista.com| is : PING arista.com (64.68.200.46) 72(100) bytes of data. 80 bytes from url-fwd.easydns.com (64.68.200.46): icmp_seq=1 ttl=40 time=23.7 ms 80 bytes from url-fwd.easydns.com (64.68.200.46): icmp_seq=2 ttl=40 time=23.5 ms 80 bytes from url-fwd.easydns.com (64.68.200.46): icmp_seq=3 ttl=40 time=23.7 ms 80 bytes from url-fwd.easydns.com (64.68.200.46): icmp_seq=4 ttl=40 time=23.6 ms 80 bytes from url-fwd.easydns.com (64.68.200.46): icmp_seq=5 ttl=40 time=23.5 ms --- arista.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 68ms rtt min/avg/max/mdev = 23.581/23.651/23.729/0.178 ms, pipe 3, ipg/ewma 17.067/23.681 ms | ||||
| Passed | kg-topology-CloudEosRR1 | tests/interface/test_interface.py::InterfacePhyTests::test_if_intf_phy_status_connected_on_[kg-topology-CloudEosRR1] | Verify the interfaces of interest physical state is link up | 0.03 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ kg-topology-CloudEosRR1 is a VEOS instance so test NOT valid -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_interface.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_intf_phy_status_connected_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None} INFO root:tests_tools.py:356 Verify if show command |show interfaces phy detail| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show interfaces phy detail| on kg-topology-CloudEosRR1 INFO root:tests_tools.py:399 Verify if kg-topology-CloudEosRR1 DUT is a VEOS instance INFO root:tests_tools.py:403 kg-topology-CloudEosRR1 is a VEOS instance so returning True INFO root:tests_tools.py:469 Find Index for test suite: test_interface.py on dut kg-topology-CloudEosRR1 INFO root:tests_tools.py:473 Test suite test_interface.py exists in results file at index 0 INFO root:tests_tools.py:480 Find Index for test case: test_if_intf_phy_status_connected_on_ on dut kg-topology-CloudEosRR1 INFO root:tests_tools.py:486 Create test case test_if_intf_phy_status_connected_on_ in results file INFO root:tests_tools.py:491 Add DUT kg-topology-CloudEosRR1 to test case test_if_intf_phy_status_connected_on_ with parameters {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None, 'actual_output': None, 'test_result': None, 'dut': 'kg-topology-CloudEosRR1'} | ||||
| Passed | kg-topology-CloudEosRR2 | tests/aaa/test_aaa.py::AAATests::test_if_dot1x_accounting_methods_set_on_[kg-topology-CloudEosRR2] | Verify AAA dot1x accounting method-lists are set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| AAA accounting exec methods for dot1x: |[]| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_dot1x_accounting_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:test_aaa.py:594 TEST is dot1x accounting methods list set correct on |kg-topology-CloudEosRR2| INFO root:test_aaa.py:596 GIVEN dot1x system accounting method list: |[]| and dot1x system accounting methodlist: |[]| INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEosRR2 INFO root:test_aaa.py:611 WHEN default dot1x accounting method list: |[]| and console dot1x accounting method list: |[]| INFO root:test_aaa.py:616 THEN test case result is |True| INFO root:test_aaa.py:617 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEosRR1 | tests/ztp/test_ztp.py::ZTPTests::test_if_zerotouch_is_disabled_on_[kg-topology-CloudEosRR1] | Verify ztp is disabled | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| ZTP process is in mode: |disabled| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_ztp.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_zerotouch_is_disabled_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show zerotouch| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show zerotouch| on kg-topology-CloudEosRR1 INFO root:test_ztp.py:71 TEST is ZTP disabled on |kg-topology-CloudEosRR1| INFO root:test_ztp.py:72 GIVEN ZTP state is |disabled| INFO root:test_ztp.py:78 WHEN ZTP state is |disabled| INFO root:test_ztp.py:81 THEN test case result is |True| INFO root:test_ztp.py:82 OUTPUT of |show zerotouch| is : ZeroTouch Mode: Disabled Script Exec Timeout: 900 | ||||
| Passed | kg-topology-CloudEosRR1 | tests/extension/test_extension.py::ExtensionsTests::test_if_extensions_are_installed_on_[kg-topology-CloudEosRR1] | Verify a list of extension are installed on a DUT | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| awslogs.swix extension is |installed| On router |kg-topology-CloudEosRR1| awsha.rpm extension is |installed| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_extension.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_extensions_are_installed_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show extensions| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show extensions| on kg-topology-CloudEosRR1 INFO root:test_extension.py:73 TEST is awslogs.swix extension installed on |kg-topology-CloudEosRR1| INFO root:test_extension.py:75 GIVEN expected awslogs.swix extension status: |installed| INFO root:test_extension.py:83 WHEN awslogs.swix extenstion installation state is |installed| INFO root:test_extension.py:87 THEN test case result is |True| INFO root:test_extension.py:88 OUTPUT of |show extensions| is : Name Version/Release Status Extension ----------------- -------------------- ----------- --------- awsha.rpm 0.1.1/1 A, I 1 awslogs.swix 1.4.0/1.el7 A, I 1 A: available | NA: not available | I: installed | NI: not installed | F: forced S: valid signature | NS: invalid signature INFO root:test_extension.py:73 TEST is awsha.rpm extension installed on |kg-topology-CloudEosRR1| INFO root:test_extension.py:75 GIVEN expected awsha.rpm extension status: |installed| INFO root:test_extension.py:83 WHEN awsha.rpm extenstion installation state is |installed| INFO root:test_extension.py:87 THEN test case result is |True| INFO root:test_extension.py:88 OUTPUT of |show extensions| is : Name Version/Release Status Extension ----------------- -------------------- ----------- --------- awsha.rpm 0.1.1/1 A, I 1 awslogs.swix 1.4.0/1.el7 A, I 1 A: available | NA: not available | I: installed | NI: not installed | F: forced S: valid signature | NS: invalid signature | ||||
| Passed | kg-topology-CloudEosRR1 | tests/ntp/test_ntp.py::NTPTests::test_if_ntp_associated_with_peers_on_[kg-topology-CloudEosRR1] | Verify ntp peers are correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| has |1| NTP peer associations -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_ntp.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_ntp_associated_with_peers_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show ntp associations| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show ntp associations| on kg-topology-CloudEosRR1 INFO root:test_ntp.py:104 TEST is NTP associations with peers on |kg-topology-CloudEosRR1| INFO root:test_ntp.py:105 GIVEN NTP associated are greater than or equal to |1| INFO root:test_ntp.py:112 WHEN NTP associated peers fare |1| INFO root:test_ntp.py:115 THEN test case result is |True| INFO root:test_ntp.py:116 OUTPUT of |show ntp associations| is : remote refid st t when poll reach delay offset jitter ============================================================================== *169.254.169.123 169.254.169.12 3 l 341 512 377 0.136 -1.768 0.311 | ||||
| Passed | kg-topology-CloudEosRR2 | tests/api/test_api.py::APITests::test_if_management_https_api_server_is_running_on_[kg-topology-CloudEosRR2] | Verify management api https server is running | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| HTTPS Server is running state: |True| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_api.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_management_https_api_server_is_running_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True} INFO root:test_api.py:69 TEST is HTTPS API running on |kg-topology-CloudEosRR2| INFO root:test_api.py:70 GIVEN HTTPS API state is |True| INFO root:tests_tools.py:356 Verify if show command |show management api http-commands| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show management api http-commands| on kg-topology-CloudEosRR2 INFO root:test_api.py:80 WHEN HTTPS API state is |True| INFO root:test_api.py:83 THEN test case result is |True| INFO root:test_api.py:84 OUTPUT of |show management api http-commands| is : Enabled: Yes HTTPS server: running, set to use port 443 HTTP server: shutdown, set to use port 80 Local HTTP server: shutdown, no authentication, set to use port 8080 Unix Socket server: shutdown, no authentication VRFs: default Hits: 80134 Last hit: 0 seconds ago Bytes in: 12161215 Bytes out: 194404171 Requests: 75232 Commands: 150464 Duration: 6393.857 seconds SSL Profile: none FIPS Mode: No QoS DSCP: 0 Log Level: none CSP Frame Ancestor: None TLS Protocols: 1.0 1.1 1.2 User Requests Bytes in Bytes out Last hit ------------- -------------- -------------- --------------- ------------- kgrozis 75232 12161215 194404171 0 seconds ago URLs --------------------------------------- Ethernet1 : https://11.201.13.101:443 Ethernet100 : https://11.201.8.1:443 Loopback0 : https://11.201.0.4:443 Loopback10 : https://198.18.0.38:443 | ||||
| Passed | kg-topology-CloudEosRR2 | tests/daemon/test_daemon.py::DaemonTests::test_if_daemons_are_enabled_on_[kg-topology-CloudEosRR2] | Verify a list of daemons are enabled on DUT | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2|: TerminAttr daemon enabled is |True| and expected value is |True|. Test result is True -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_daemon.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_daemons_are_enabled_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True} INFO root:test_daemon.py:105 TEST is terminattr daemon enabled on |kg-topology-CloudEosRR2| INFO root:test_daemon.py:106 GIVEN expected terminattr​ enabled state: |True| INFO root:tests_tools.py:356 Verify if show command |show daemon| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show daemon| on kg-topology-CloudEosRR2 INFO root:test_daemon.py:114 WHEN terminattr​ device enabled state is |True| INFO root:test_daemon.py:118 THEN test case result is |True| INFO root:test_daemon.py:119 OUTPUT of |show daemon|: Process: TerminAttr (running with PID 1714) Uptime: 27 days, 15:14:13 (Start time: Thu Aug 13 01:18:44 2020) No configuration options stored. No status data stored. | ||||
| Passed | kg-topology-CloudEosRR1 | tests/interface/test_interface.py::InterfaceStatusTests::test_if_intf_protocol_status_is_connected_on_[kg-topology-CloudEosRR1] | Verify the interfaces of interest protocol statuses are up | 0.03 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1|: - On interface |Ethernet1|: interface link line protocol status is set to: |up|, correct state is |up| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_interface.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_intf_protocol_status_is_connected_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None} INFO root:tests_tools.py:356 Verify if show command |show interfaces status| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show interfaces status| on kg-topology-CloudEosRR1 INFO root:test_interface.py:82 TEST if interface |Ethernet1| link prootocol statuses are up on |kg-topology-CloudEosRR1| INFO root:test_interface.py:84 GIVEN interface status is |up| INFO root:test_interface.py:88 WHEN interface status is |up| INFO root:test_interface.py:91 THEN test case result is |True| INFO root:test_interface.py:92 OUTPUT of |show interfaces status| is : Port Name Status Vlan Duplex Speed Type Flags Encapsulation Et1 connected routed full unconf 10/100/1000 Et100 connected routed full 10G 10/100/1000 INFO root:tests_tools.py:469 Find Index for test suite: test_interface.py on dut kg-topology-CloudEosRR1 INFO root:tests_tools.py:473 Test suite test_interface.py exists in results file at index 0 INFO root:tests_tools.py:480 Find Index for test case: test_if_intf_protocol_status_is_connected_on_ on dut kg-topology-CloudEosRR1 INFO root:tests_tools.py:486 Create test case test_if_intf_protocol_status_is_connected_on_ in results file INFO root:tests_tools.py:491 Add DUT kg-topology-CloudEosRR1 to test case test_if_intf_protocol_status_is_connected_on_ with parameters {'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None, 'actual_output': 'up', 'test_result': True, 'dut': 'kg-topology-CloudEosRR1'} | ||||
| Passed | kg-topology-CloudEosRR2 | tests/api/test_api.py::APITests::test_if_management_https_api_server_port_is_correct_on_[kg-topology-CloudEosRR2] | Verify https server is enabled on port 443 | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| HTTPS Server is running on port: |443| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_api.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_management_https_api_server_port_is_correct_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True} INFO root:test_api.py:106 TEST is HTTPS API port on |kg-topology-CloudEosRR2| INFO root:test_api.py:107 GIVEN HTTPS API port is |443| INFO root:tests_tools.py:356 Verify if show command |show management api http-commands| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show management api http-commands| on kg-topology-CloudEosRR2 INFO root:test_api.py:116 WHEN HTTPS API port is |443| INFO root:test_api.py:119 THEN test case result is |True| INFO root:test_api.py:120 OUTPUT of |show management api http-commands| is : Enabled: Yes HTTPS server: running, set to use port 443 HTTP server: shutdown, set to use port 80 Local HTTP server: shutdown, no authentication, set to use port 8080 Unix Socket server: shutdown, no authentication VRFs: default Hits: 80134 Last hit: 0 seconds ago Bytes in: 12161215 Bytes out: 194404171 Requests: 75232 Commands: 150464 Duration: 6393.857 seconds SSL Profile: none FIPS Mode: No QoS DSCP: 0 Log Level: none CSP Frame Ancestor: None TLS Protocols: 1.0 1.1 1.2 User Requests Bytes in Bytes out Last hit ------------- -------------- -------------- --------------- ------------- kgrozis 75232 12161215 194404171 0 seconds ago URLs --------------------------------------- Ethernet1 : https://11.201.13.101:443 Ethernet100 : https://11.201.8.1:443 Loopback0 : https://11.201.0.4:443 Loopback10 : https://198.18.0.38:443 | ||||
| Passed | kg-topology-CloudEosRR1 | tests/users/test_users.py::UsersTests::test_if_usernames_are_configured_on_[kg-topology-CloudEosRR1] | Verify username is set correctly | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| |ec2-user| username is |configured| On router |kg-topology-CloudEosRR1| |kgrozis| username is |configured| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_users.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_usernames_are_configured_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show running-config section username| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show running-config section username| on kg-topology-CloudEosRR1 INFO root:test_users.py:74 TEST is ec2-user username configured |kg-topology-CloudEosRR1| INFO root:test_users.py:76 GIVEN ec2-user username configured status: |True| INFO root:test_users.py:82 WHEN ec2-user username configured status is |True| INFO root:test_users.py:84 THEN test case result is |True| INFO root:test_users.py:85 OUTPUT of |show running-config section username| is : no username admin ! username ec2-user nopassword username ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2 username kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f. INFO root:test_users.py:74 TEST is kgrozis username configured |kg-topology-CloudEosRR1| INFO root:test_users.py:76 GIVEN kgrozis username configured status: |True| INFO root:test_users.py:82 WHEN kgrozis username configured status is |True| INFO root:test_users.py:84 THEN test case result is |True| INFO root:test_users.py:85 OUTPUT of |show running-config section username| is : no username admin ! username ec2-user nopassword username ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2 username kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f. | ||||
| Passed | kg-topology-CloudEosRR1 | tests/memory/test_memory.py::MemoryTests::test_memory_utilization_on_[kg-topology-CloudEosRR1] | Verify memory is not exceeding high utlization | 0.03 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |dut_name| memory utilization percent is |38.28823489394686%| and should be under 70% -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_memory.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_memory_utilization_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show version| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show version| on kg-topology-CloudEosRR1 INFO root:test_memory.py:71 TEST if memory utilization is less than specified value on |kg-topology-CloudEosRR1| INFO root:test_memory.py:73 GIVEN memory utilization is less than |70%| INFO root:test_memory.py:80 WHEN memory utilization is |38.28823489394686| INFO root:test_memory.py:83 THEN test case result is |True%| INFO root:test_memory.py:84 OUTPUT of |show version| is : Arista vEOS Hardware version: Serial number: 9B112703F293F47ADC3EE25318457B64 System MAC address: 0246.bb59.d5ae Software image version: 4.23.1F-cloud-16179785.jakartarel (engineering build) Architecture: x86_64 Internal build version: 4.23.1F-cloud-16179785.jakartarel Internal build ID: 6bc96200-86c1-4e86-bed7-8280a6802809 Uptime: 3 weeks, 6 days, 15 hours and 15 minutes Total memory: 7761392 kB Free memory: 2970760 kB INFO root:tests_tools.py:469 Find Index for test suite: test_memory.py on dut kg-topology-CloudEosRR1 INFO root:tests_tools.py:475 Create test suite test_memory.py in results file INFO root:tests_tools.py:480 Find Index for test case: test_memory_utilization_on_ on dut kg-topology-CloudEosRR1 INFO root:tests_tools.py:486 Create test case test_memory_utilization_on_ in results file INFO root:tests_tools.py:491 Add DUT kg-topology-CloudEosRR1 to test case test_memory_utilization_on_ with parameters {'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True, 'actual_output': 38.28823489394686, 'test_result': True, 'dut': 'kg-topology-CloudEosRR1'} | ||||
| Passed | kg-topology-CloudEosRR2 | tests/api/test_api.py::APITests::test_if_management_https_api_server_is_enabled_on_[kg-topology-CloudEosRR2] | Verify management api https server is enabled | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |{dut_name}| API is enabled state: |True| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_api.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_management_https_api_server_is_enabled_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True} INFO root:test_api.py:142 TEST is HTTPS API enabled on |kg-topology-CloudEosRR2| INFO root:test_api.py:143 GIVEN HTTPS API enabled is |True| INFO root:tests_tools.py:356 Verify if show command |show management api http-commands| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show management api http-commands| on kg-topology-CloudEosRR2 INFO root:test_api.py:152 WHEN HTTPS API enabled is |True| INFO root:test_api.py:155 THEN test case result is |True| INFO root:test_api.py:156 OUTPUT of |show management api http-commands| is : Enabled: Yes HTTPS server: running, set to use port 443 HTTP server: shutdown, set to use port 80 Local HTTP server: shutdown, no authentication, set to use port 8080 Unix Socket server: shutdown, no authentication VRFs: default Hits: 80134 Last hit: 0 seconds ago Bytes in: 12161215 Bytes out: 194404171 Requests: 75232 Commands: 150464 Duration: 6393.857 seconds SSL Profile: none FIPS Mode: No QoS DSCP: 0 Log Level: none CSP Frame Ancestor: None TLS Protocols: 1.0 1.1 1.2 User Requests Bytes in Bytes out Last hit ------------- -------------- -------------- --------------- ------------- kgrozis 75232 12161215 194404171 0 seconds ago URLs --------------------------------------- Ethernet1 : https://11.201.13.101:443 Ethernet100 : https://11.201.8.1:443 Loopback0 : https://11.201.0.4:443 Loopback10 : https://198.18.0.38:443 | ||||
| Passed | kg-topology-CloudEosRR1 | tests/ztp/test_ztp.py::ZTPTests::test_for_zerotouch_config_file_on_[kg-topology-CloudEosRR1] | Verify zerotoucn-config file is on flash | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| ZTP configuration file is on flash: |True| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_ztp.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_for_zerotouch_config_file_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |dir flash:zerotouch-config| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |dir flash:zerotouch-config| on kg-topology-CloudEosRR1 INFO root:test_ztp.py:106 TEST is ZTP configuration file is on |kg-topology-CloudEosRR1| INFO root:test_ztp.py:107 GIVEN ZTP configuration file is |True| INFO root:test_ztp.py:113 WHEN ZTP configuration file is |True| INFO root:test_ztp.py:116 THEN test case result is |True| INFO root:test_ztp.py:117 OUTPUT of |dir flash:zerotouch-config| is : Directory of flash:/zerotouch-config -rw- 13 Mar 30 23:38 zerotouch-config 8319852544 bytes total (7293403136 bytes free) | ||||
| Passed | kg-topology-CloudEosRR1 | tests/tacacs/test_tacacs.py::TacacsTests::test_if_tacacs_is_sending_messages_on_[kg-topology-CloudEosRR1] | Verify tacacs messages are sending correctly | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR1| does not have TACACS servers configured -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_tacacs.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_tacacs_is_sending_messages_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show tacacs| was successfully executed on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:360 Verified output for show command |show tacacs| on kg-topology-CloudEosRR1 INFO root:tests_tools.py:377 Verify if tacacs server(s) are configured on kg-topology-CloudEosRR1 dut INFO root:tests_tools.py:383 0 tacacs serverws are configured so returning False INFO root:test_tacacs.py:73 TEST is |kg-topology-CloudEosRR1| sending messages to TACACS server | ||||
| Passed | kg-topology-CloudEosRR2 | tests/api/test_api.py::APITests::test_if_management_http_api_server_is_running_on_[kg-topology-CloudEosRR2] | Verify management api http server is not running | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |{dut_name}| HTTP Server is running state: |False| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_api.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_management_http_api_server_is_running_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True} INFO root:test_api.py:178 TEST is HTTP API running on |kg-topology-CloudEosRR2| INFO root:test_api.py:179 GIVEN HTTP API state is |False| INFO root:tests_tools.py:356 Verify if show command |show management api http-commands| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show management api http-commands| on kg-topology-CloudEosRR2 INFO root:test_api.py:189 WHEN HTTP API state is |False| INFO root:test_api.py:192 THEN test case result is |True| INFO root:test_api.py:193 OUTPUT of |show management api http-commands| is : Enabled: Yes HTTPS server: running, set to use port 443 HTTP server: shutdown, set to use port 80 Local HTTP server: shutdown, no authentication, set to use port 8080 Unix Socket server: shutdown, no authentication VRFs: default Hits: 80134 Last hit: 0 seconds ago Bytes in: 12161215 Bytes out: 194404171 Requests: 75232 Commands: 150464 Duration: 6393.857 seconds SSL Profile: none FIPS Mode: No QoS DSCP: 0 Log Level: none CSP Frame Ancestor: None TLS Protocols: 1.0 1.1 1.2 User Requests Bytes in Bytes out Last hit ------------- -------------- -------------- --------------- ------------- kgrozis 75232 12161215 194404171 0 seconds ago URLs --------------------------------------- Ethernet1 : https://11.201.13.101:443 Ethernet100 : https://11.201.8.1:443 Loopback0 : https://11.201.0.4:443 Loopback10 : https://198.18.0.38:443 | ||||
| Passed | kg-topology-CloudEosRR2 | tests/aaa/test_aaa.py::AAATests::test_if_aaa_session_logging_is_working_on_[kg-topology-CloudEosRR2] | Verify AAA session logging is working by identifying eapi connection | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| identified eAPi AAA session: |commandApi| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_aaa_session_logging_is_working_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show users detail| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show users detail| on kg-topology-CloudEosRR2 INFO root:test_aaa.py:130 TEST is |kg-topology-CloudEosRR2| AAA session logging is working by identifying eapi connection INFO root:test_aaa.py:138 GIVEN commandApi is nonInteractive sessions INFO root:test_aaa.py:139 WHEN commandApi is nonInteractive sessions INFO root:test_aaa.py:154 THEN test case result is |True| INFO root:test_aaa.py:155 OUTPUT of |show users detail| is : Session Username Roles TTY State Duration Auth Remote Host -------- --------- ------- ------------- ------- ---------- ------- ----------- 82219 kgrozis command-api E 0:00:13 local | ||||
| Passed | kg-topology-CloudEosRR2 | tests/interface/test_interface.py::InterfaceStatusTests::test_if_intf_protocol_status_is_connected_on_[kg-topology-CloudEosRR2] | Verify the interfaces of interest protocol statuses are up | 0.03 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2|: - On interface |Ethernet1|: interface link line protocol status is set to: |up|, correct state is |up| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_interface.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_intf_protocol_status_is_connected_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None} INFO root:tests_tools.py:356 Verify if show command |show interfaces status| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show interfaces status| on kg-topology-CloudEosRR2 INFO root:test_interface.py:82 TEST if interface |Ethernet1| link prootocol statuses are up on |kg-topology-CloudEosRR2| INFO root:test_interface.py:84 GIVEN interface status is |up| INFO root:test_interface.py:88 WHEN interface status is |up| INFO root:test_interface.py:91 THEN test case result is |True| INFO root:test_interface.py:92 OUTPUT of |show interfaces status| is : Port Name Status Vlan Duplex Speed Type Flags Encapsulation Et1 connected routed full unconf 10/100/1000 Et100 connected routed full 10G 10/100/1000 INFO root:tests_tools.py:469 Find Index for test suite: test_interface.py on dut kg-topology-CloudEosRR2 INFO root:tests_tools.py:473 Test suite test_interface.py exists in results file at index 0 INFO root:tests_tools.py:480 Find Index for test case: test_if_intf_protocol_status_is_connected_on_ on dut kg-topology-CloudEosRR2 INFO root:tests_tools.py:484 Test case test_if_intf_protocol_status_is_connected_on_ exists in results file at index 2 INFO root:tests_tools.py:491 Add DUT kg-topology-CloudEosRR2 to test case test_if_intf_protocol_status_is_connected_on_ with parameters {'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None, 'actual_output': 'up', 'test_result': True, 'dut': 'kg-topology-CloudEosRR2'} | ||||
| Passed | kg-topology-CloudEosRR2 | tests/dns/test_dns.py::DNSTests::test_if_dns_resolves_on_[kg-topology-CloudEosRR2] | Verify DNS is running by performing pings and verifying name resolution | 1.17 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| DNS resolution |Passed| for google.com On router |kg-topology-CloudEosRR2| DNS resolution |Passed| for cnn.com On router |kg-topology-CloudEosRR2| DNS resolution |Passed| for arista.com -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_dns.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_dns_resolves_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True} INFO root:test_dns.py:70 TEST can |kg-topology-CloudEosRR2| resolve google.com INFO root:test_dns.py:71 GIVEN URL is |google.com| INFO root:test_dns.py:72 WHEN exception is |Name or service not known| string INFO root:test_dns.py:89 THEN test case result is |Passed| INFO root:test_dns.py:90 OUTPUT of |ping google.com| is : PING google.com (172.217.1.46) 72(100) bytes of data. 76 bytes from ord37s07-in-f14.1e100.net (172.217.1.46): icmp_seq=1 ttl=100 (truncated) 76 bytes from ord37s07-in-f14.1e100.net (172.217.1.46): icmp_seq=2 ttl=100 (truncated) 76 bytes from ord37s07-in-f14.1e100.net (172.217.1.46): icmp_seq=3 ttl=100 (truncated) 76 bytes from ord37s07-in-f14.1e100.net (172.217.1.46): icmp_seq=4 ttl=100 (truncated) 76 bytes from ord37s07-in-f14.1e100.net (172.217.1.46): icmp_seq=5 ttl=100 (truncated) --- google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 61ms rtt min/avg/max/mdev = 16.561/16.635/16.715/0.153 ms, pipe 2, ipg/ewma 15.265/16.675 ms INFO root:test_dns.py:70 TEST can |kg-topology-CloudEosRR2| resolve cnn.com INFO root:test_dns.py:71 GIVEN URL is |cnn.com| INFO root:test_dns.py:72 WHEN exception is |Name or service not known| string INFO root:test_dns.py:89 THEN test case result is |Passed| INFO root:test_dns.py:90 OUTPUT of |ping cnn.com| is : PING cnn.com (151.101.65.67) 72(100) bytes of data. 80 bytes from 151.101.65.67 (151.101.65.67): icmp_seq=1 ttl=39 time=10.6 ms 80 bytes from 151.101.65.67 (151.101.65.67): icmp_seq=2 ttl=39 time=10.6 ms 80 bytes from 151.101.65.67 (151.101.65.67): icmp_seq=3 ttl=39 time=10.6 ms 80 bytes from 151.101.65.67 (151.101.65.67): icmp_seq=4 ttl=39 time=10.6 ms 80 bytes from 151.101.65.67 (151.101.65.67): icmp_seq=5 ttl=39 time=10.6 ms --- cnn.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 43ms rtt min/avg/max/mdev = 10.662/10.674/10.691/0.010 ms, pipe 2, ipg/ewma 10.764/10.676 ms INFO root:test_dns.py:70 TEST can |kg-topology-CloudEosRR2| resolve arista.com INFO root:test_dns.py:71 GIVEN URL is |arista.com| INFO root:test_dns.py:72 WHEN exception is |Name or service not known| string INFO root:test_dns.py:89 THEN test case result is |Passed| INFO root:test_dns.py:90 OUTPUT of |ping arista.com| is : PING arista.com (64.68.200.46) 72(100) bytes of data. 80 bytes from url-fwd.easydns.com (64.68.200.46): icmp_seq=1 ttl=40 time=23.0 ms 80 bytes from url-fwd.easydns.com (64.68.200.46): icmp_seq=2 ttl=40 time=23.1 ms 80 bytes from url-fwd.easydns.com (64.68.200.46): icmp_seq=3 ttl=40 time=23.0 ms 80 bytes from url-fwd.easydns.com (64.68.200.46): icmp_seq=4 ttl=40 time=23.1 ms 80 bytes from url-fwd.easydns.com (64.68.200.46): icmp_seq=5 ttl=40 time=23.1 ms --- arista.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 66ms rtt min/avg/max/mdev = 23.074/23.106/23.144/0.024 ms, pipe 3, ipg/ewma 16.570/23.096 ms | ||||
| Passed | kg-topology-CloudEosRR2 | tests/api/test_api.py::APITests::test_if_management_local_http_api_server_is_running_on_[kg-topology-CloudEosRR2] | Verify management api local httpserver is not running | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| Local HTTP Server is running state: |False| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_api.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_management_local_http_api_server_is_running_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True} INFO root:test_api.py:215 TEST is local HTTP API running on |kg-topology-CloudEosRR2| INFO root:test_api.py:216 GIVEN local HTTP API state is |False| INFO root:tests_tools.py:356 Verify if show command |show management api http-commands| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show management api http-commands| on kg-topology-CloudEosRR2 INFO root:test_api.py:226 WHEN HTTP API state is |False| INFO root:test_api.py:229 THEN test case result is |True| INFO root:test_api.py:230 OUTPUT of |show management api http-commands| is : Enabled: Yes HTTPS server: running, set to use port 443 HTTP server: shutdown, set to use port 80 Local HTTP server: shutdown, no authentication, set to use port 8080 Unix Socket server: shutdown, no authentication VRFs: default Hits: 80134 Last hit: 0 seconds ago Bytes in: 12161215 Bytes out: 194404171 Requests: 75232 Commands: 150464 Duration: 6393.857 seconds SSL Profile: none FIPS Mode: No QoS DSCP: 0 Log Level: none CSP Frame Ancestor: None TLS Protocols: 1.0 1.1 1.2 User Requests Bytes in Bytes out Last hit ------------- -------------- -------------- --------------- ------------- kgrozis 75232 12161215 194404171 0 seconds ago URLs --------------------------------------- Ethernet1 : https://11.201.13.101:443 Ethernet100 : https://11.201.8.1:443 Loopback0 : https://11.201.0.4:443 Loopback10 : https://198.18.0.38:443 | ||||
| Passed | kg-topology-CloudEosRR2 | tests/aaa/test_aaa.py::AAATests::test_if_commands_authorization_methods_set_on_[kg-topology-CloudEosRR2] | Verify AAA command authorization are method-lists set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| AAA authorization methods for fcommands: |['none']| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_commands_authorization_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEosRR2 INFO root:test_aaa.py:184 TEST is command authorization methods list set correct on |kg-topology-CloudEosRR2| INFO root:test_aaa.py:186 GIVEN command authorization method list: |['none']| INFO root:test_aaa.py:190 WHEN EOS command authorization method list is set to |['none']| INFO root:test_aaa.py:194 THEN test case result is |True| INFO root:test_aaa.py:195 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEosRR2 | tests/interface/test_interface.py::InterfaceStatusTests::test_if_intf_link_status_is_connected_on_[kg-topology-CloudEosRR2] | Verify the interfaces of interest link statuses are up | 0.05 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2|: - On interface |Ethernet1|: interface link line protocol status is set to: |connected|, correct state is |connected| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_interface.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_intf_link_status_is_connected_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None} INFO root:tests_tools.py:356 Verify if show command |show interfaces status| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show interfaces status| on kg-topology-CloudEosRR2 INFO root:test_interface.py:133 TEST if interface |Ethernet1| link status is up on |kg-topology-CloudEosRR2| INFO root:test_interface.py:135 GIVEN interface status is |connected| INFO root:test_interface.py:139 WHEN interface status is |connected| INFO root:test_interface.py:142 THEN test case result is |True| INFO root:test_interface.py:143 OUTPUT of |show interfaces status| is : Port Name Status Vlan Duplex Speed Type Flags Encapsulation Et1 connected routed full unconf 10/100/1000 Et100 connected routed full 10G 10/100/1000 INFO root:tests_tools.py:469 Find Index for test suite: test_interface.py on dut kg-topology-CloudEosRR2 INFO root:tests_tools.py:473 Test suite test_interface.py exists in results file at index 0 INFO root:tests_tools.py:480 Find Index for test case: test_if_intf_link_status_is_connected_on_ on dut kg-topology-CloudEosRR2 INFO root:tests_tools.py:484 Test case test_if_intf_link_status_is_connected_on_ exists in results file at index 0 INFO root:tests_tools.py:491 Add DUT kg-topology-CloudEosRR2 to test case test_if_intf_link_status_is_connected_on_ with parameters {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None, 'actual_output': 'connected', 'test_result': True, 'dut': 'kg-topology-CloudEosRR2'} | ||||
| Passed | kg-topology-CloudEosRR2 | tests/extension/test_extension.py::ExtensionsTests::test_if_extensions_are_installed_on_[kg-topology-CloudEosRR2] | Verify a list of extension are installed on a DUT | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| awslogs.swix extension is |installed| On router |kg-topology-CloudEosRR2| awsha.rpm extension is |installed| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_extension.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_extensions_are_installed_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show extensions| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show extensions| on kg-topology-CloudEosRR2 INFO root:test_extension.py:73 TEST is awslogs.swix extension installed on |kg-topology-CloudEosRR2| INFO root:test_extension.py:75 GIVEN expected awslogs.swix extension status: |installed| INFO root:test_extension.py:83 WHEN awslogs.swix extenstion installation state is |installed| INFO root:test_extension.py:87 THEN test case result is |True| INFO root:test_extension.py:88 OUTPUT of |show extensions| is : Name Version/Release Status Extension ----------------- -------------------- ----------- --------- awsha.rpm 0.1.1/1 A, I 1 awslogs.swix 1.4.0/1.el7 A, I 1 A: available | NA: not available | I: installed | NI: not installed | F: forced S: valid signature | NS: invalid signature INFO root:test_extension.py:73 TEST is awsha.rpm extension installed on |kg-topology-CloudEosRR2| INFO root:test_extension.py:75 GIVEN expected awsha.rpm extension status: |installed| INFO root:test_extension.py:83 WHEN awsha.rpm extenstion installation state is |installed| INFO root:test_extension.py:87 THEN test case result is |True| INFO root:test_extension.py:88 OUTPUT of |show extensions| is : Name Version/Release Status Extension ----------------- -------------------- ----------- --------- awsha.rpm 0.1.1/1 A, I 1 awslogs.swix 1.4.0/1.el7 A, I 1 A: available | NA: not available | I: installed | NI: not installed | F: forced S: valid signature | NS: invalid signature | ||||
| Passed | kg-topology-CloudEosRR2 | tests/cpu/test_cpu.py::CPUTests::test_1_sec_cpu_utlization_on_[kg-topology-CloudEosRR2] | Verify 1 second CPU % is under specificied value | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| 1 second CPU load average is |1.48%| and should be under |10%| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_cpu.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_1_sec_cpu_utlization_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show processes| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show processes| on kg-topology-CloudEosRR2 INFO root:test_cpu.py:70 TEST if 1 second CPU utilization is less than specified value on |kg-topology-CloudEosRR2| INFO root:test_cpu.py:72 GIVEN CPU utilization is less than |10| INFO root:test_cpu.py:76 WHEN CPU utilization is |1.48| INFO root:test_cpu.py:79 THEN test case result is |True| INFO root:test_cpu.py:80 OUTPUT of |show processes| is : 16:32:51 up 27 days, 15:15, 0 users, load average: 1.48, 1.38, 1.30 PID %CPU %MEM TT STAT STARTED TIME CMD 2009 102 3.4 ? Sl Aug 13 28-06:54:08 Sfe 1714 0.4 1.9 ? Sl Aug 13 02:41:57 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.13.101 -taillogs -grpcaddr=0.0.0.0:6042 8684 0.2 0.7 ? SNl Sep 02 00:23:37 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config 1255 0.1 0.9 ? S Aug 13 01:16:00 ProcMgr-worker 1566 0.1 7.3 ? Sl Aug 13 01:13:26 ConfigAgent 1 0.0 0.0 ? Ss Aug 13 00:03:52 /sbin/init 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd] 3 0.0 0.0 ? S Aug 13 00:00:21 [ksoftirqd/0] 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H] 6 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:0] 7 0.0 0.0 ? S Aug 13 00:00:38 [rcu_preempt] 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched] 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh] 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0] 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain] 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0] 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0] 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1] 15 0.0 0.0 ? S Aug 13 00:00:02 [watchdog/1] 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1] 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1] 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0] 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H] 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2] 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2] 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2] 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2] 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0] 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H] 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3] 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3] 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3] 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3] 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0] 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H] 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs] 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns] 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd] 35 0.0 0.0 ? S Aug 13 00:01:05 [khungtaskd2] 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper] 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback] 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0] 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto] 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd] 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd] 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff] 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller] 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task] 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd] 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd] 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl] 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod] 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod] 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0] 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat] 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod] 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd] 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme] 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd] 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf] 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq] 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-] 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver] 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H] 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0] 346 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:2] 384 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd 413 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f 497 0.0 0.0 ? S< Aug 13 00:00:00 [ena] 732 0.0 0.0 ? Ss Aug 13 00:01:07 /usr/lib/systemd/systemd-logind 734 0.0 0.0 ? Ss Aug 13 00:00:45 /usr/bin/ProcMonitor 742 0.0 0.1 ? Ss Aug 13 00:02:21 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 762 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1] 777 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground 797 0.0 0.0 ? Ss Aug 13 00:00:12 /usr/sbin/crond -n 812 0.0 0.0 ? S<s Aug 13 00:00:18 /usr/bin/wdogdev -t 60 823 0.0 0.0 ? Ss Aug 13 00:00:03 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid 951 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local 953 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 979 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys 981 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 990 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure 991 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1043 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil 1048 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon 1163 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1164 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1197 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm 1238 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1240 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1254 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master 1462 0.0 0.0 ? S Aug 13 00:08:45 /usr/bin/EosOomAdjust 1470 0.0 0.0 ? S Aug 13 00:00:15 [rbfd_vrf_cleanu] 1485 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid 1522 0.0 0.0 ? S Aug 13 00:02:04 /usr/bin/SlabMonitor 1523 0.0 2.5 ? S Aug 13 00:29:27 Sysdb 1565 0.0 1.2 ? S Aug 13 00:00:35 StageMgr 1570 0.0 1.4 ? S Aug 13 00:01:26 Fru 1571 0.0 1.8 ? S Aug 13 00:00:32 Launcher 1694 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=275501144304,275500693129,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp 1695 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1696 0.0 1.2 ? S Aug 13 00:07:30 Lldp 1699 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=275605242171,275551678101,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon 1700 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H] 1702 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1704 0.0 1.2 ? S Aug 13 00:02:56 McastCommon 1708 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=275773786218,275650165758,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec 1711 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1712 0.0 1.1 ? S Aug 13 00:01:46 PortSec 1721 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=279574021921,279385129478,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd 1722 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1723 0.0 1.4 ? S Aug 13 00:03:30 Bfd 1724 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=280109105290,280107199461,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag 1726 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1727 0.0 1.3 ? S Aug 13 00:13:50 Lag 1729 0.0 1.7 ? S Aug 13 00:28:05 SuperServer 1732 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=283892362299,283880109624,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira 1733 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1734 0.0 1.5 ? S Aug 13 00:03:01 Ira 1736 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=288108381572,287775061276,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy 1737 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1738 0.0 1.1 ? S Aug 13 00:02:22 LedPolicy 1739 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=288299247450,288179510165,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr 1740 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1741 0.0 1.3 ? S Aug 13 00:06:07 EventMgr 1743 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=288579662140,288395482866,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx 1744 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1745 0.0 1.2 ? S Aug 13 00:21:15 StpTxRx 1746 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=292115254711,288676120489,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld 1747 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1749 0.0 1.1 ? S Aug 13 00:00:31 StandbyCpld 1750 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=292267583010,292186647304,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor 1751 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1753 0.0 1.0 ? S Aug 13 00:31:46 AgentMonitor 1754 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=292421762940,292330626218,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel 1755 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1756 0.0 1.2 ? S Aug 13 00:01:11 Tunnel 1757 0.0 1.5 ? Sl Aug 13 00:06:26 Aaa 1759 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=292808046113,292716319651,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology 1760 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1761 0.0 1.2 ? S Aug 13 00:02:48 StpTopology 1762 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=296523011761,292995169616,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl 1763 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1764 0.0 1.4 ? S Aug 13 00:15:47 Acl 1771 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=297041265896,296648985313,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp 1773 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1774 0.0 1.1 ? S Aug 13 00:03:57 Stp 1778 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=297164816515,297132428879,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo 1780 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1782 0.0 1.1 ? S Aug 13 00:01:47 KernelNetworkInfo 1786 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=300924273292,300805414611,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6 1793 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1800 0.0 1.2 ? S Aug 13 00:02:33 McastCommon6 1806 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=301369414784,301079967103,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent 1810 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1813 0.0 1.2 ? S Aug 13 00:02:45 LacpTxAgent 1825 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=305150183208,301517231056,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp 1827 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1830 0.0 1.5 ? S Aug 13 00:03:42 Arp 1845 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=305766616581,305331306787,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib 1849 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1850 0.0 1.4 ? S Aug 13 00:02:49 KernelFib 1855 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=305914666962,305891078210,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos 1861 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1863 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=310155317299,310146122555,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat 1866 0.0 1.2 ? S Aug 13 00:02:10 Qos 1869 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1872 0.0 1.1 ? S Aug 13 00:01:47 Thermostat 1876 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=313651175211,310235138896,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib 1880 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1883 0.0 1.2 ? S Aug 13 00:00:57 L2Rib 1885 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=313910588628,313716056362,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled 1886 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1887 0.0 1.2 ? S Aug 13 00:01:24 TopoAgent 1889 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=314257465954,313997347978,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse 1890 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1892 0.0 1.0 ? S Aug 13 00:00:30 PowerFuse 1893 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=314448379045,314392881768,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager 1894 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1895 0.0 1.1 ? S Aug 13 00:00:31 PowerManager 1896 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=318077978536,317883825927,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra 1900 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1905 0.0 1.4 ? S Aug 13 00:05:18 Ebra 1913 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=318598602805,318228924536,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent 1914 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1916 0.0 1.1 ? S Aug 13 00:00:30 ReloadCauseAgent 1918 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=318762514420,318696297345,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile 1920 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1922 0.0 1.0 ? S Aug 13 00:00:30 SharedSecretProfile 1923 0.0 1.5 ? S Aug 13 00:02:52 IgmpSnooping 1933 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=322651195162,322650789524,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled 1934 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1935 0.0 1.3 ? S Aug 13 00:01:47 StaticRoute 1937 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=322914040580,322748011657,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled 1938 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1940 0.0 1.6 ? S Aug 13 00:06:58 IpRib 1943 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=326588334299,323000468604,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled 1944 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1945 0.0 1.8 ? S Aug 13 00:01:51 BgpCliHelper 1949 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=326677503453,326675454310,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute 1953 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1957 0.0 1.3 ? S Aug 13 00:03:06 ConnectedRoute 1964 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=327312488625,326986790248,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput 1965 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1966 0.0 1.3 ? S Aug 13 00:01:49 RouteInput 1974 0.0 2.2 ? Sl Aug 13 00:09:16 Bgp 2002 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=331509489560,331172745644,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe 2008 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2286 0.0 0.0 ? Ssl Aug 13 00:00:23 /usr/sbin/rsyslogd -n 2340 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq 2602 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=378753852405,378753400392,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager 2603 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2605 0.0 1.1 ? S Aug 13 00:00:33 LicenseManager 2656 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd 2657 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux 2658 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0 2664 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2656 /var/log/eos-console | sed 's/\(.*\)/\1\r/' 2667 0.0 0.0 ? S Aug 13 00:00:17 /usr/bin/tail -n 0 --retry --follow=name --pid=2656 /var/log/eos-console 2668 0.0 0.0 ? S Aug 13 00:00:00 sed s/\(.*\)/\1\r/ 2707 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct> 2734 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=399762211162,399761786247,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec 2735 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2736 0.0 1.2 ? S Aug 13 00:07:54 Ipsec 2739 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1 2766 0.0 0.1 ? Ssl Aug 13 00:00:49 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid 2770 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc 3341 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon 3343 0.0 0.1 ? Ssl Aug 13 00:01:19 /usr/libexec/strongswan/charon --use-syslog 6525 0.0 0.0 ? S 16:27:00 00:00:00 [kworker/0:0] 8662 0.0 0.0 ? S Sep 02 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh 9292 0.0 0.0 ? Rs 16:32:50 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww 18367 0.0 0.0 ? S Aug 14 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=665682214635995,665682214376331,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini 18368 0.0 0.3 ? Ss Aug 14 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 18369 0.0 1.3 ? Sl Aug 14 00:01:39 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 18413 0.0 0.0 ? Ss Aug 14 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid; 18415 0.0 0.1 ? S Aug 14 00:01:19 nginx: worker process 30446 0.0 0.0 ? S 15:58:00 00:00:00 [kworker/0:4] 31262 0.0 0.0 ? S 16:10:00 00:00:00 [kworker/0:2] | ||||
| Passed | kg-topology-CloudEosRR2 | tests/aaa/test_aaa.py::AAATests::test_if_exec_authorization_methods_set_on_[kg-topology-CloudEosRR2] | Verify AAA exec authorization are method-lists set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| AAA authorization methods for exec: |['none']| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_exec_authorization_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEosRR2 INFO root:test_aaa.py:227 TEST is exec authorization methods list set correct on |kg-topology-CloudEosRR2| INFO root:test_aaa.py:229 GIVEN exec authorization method list: |['none']| INFO root:test_aaa.py:233 WHEN EOS exec authorization method list is set to |['none']| INFO root:test_aaa.py:237 THEN test case result is |True| INFO root:test_aaa.py:238 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEosRR2 | tests/interface/test_interface.py::InterfacePhyTests::test_if_intf_phy_status_connected_on_[kg-topology-CloudEosRR2] | Verify the interfaces of interest physical state is link up | 0.04 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ kg-topology-CloudEosRR2 is a VEOS instance so test NOT valid -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_interface.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_intf_phy_status_connected_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None} INFO root:tests_tools.py:356 Verify if show command |show interfaces phy detail| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show interfaces phy detail| on kg-topology-CloudEosRR2 INFO root:tests_tools.py:399 Verify if kg-topology-CloudEosRR2 DUT is a VEOS instance INFO root:tests_tools.py:403 kg-topology-CloudEosRR2 is a VEOS instance so returning True INFO root:tests_tools.py:469 Find Index for test suite: test_interface.py on dut kg-topology-CloudEosRR2 INFO root:tests_tools.py:473 Test suite test_interface.py exists in results file at index 0 INFO root:tests_tools.py:480 Find Index for test case: test_if_intf_phy_status_connected_on_ on dut kg-topology-CloudEosRR2 INFO root:tests_tools.py:484 Test case test_if_intf_phy_status_connected_on_ exists in results file at index 1 INFO root:tests_tools.py:491 Add DUT kg-topology-CloudEosRR2 to test case test_if_intf_phy_status_connected_on_ with parameters {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None, 'actual_output': None, 'test_result': None, 'dut': 'kg-topology-CloudEosRR2'} | ||||
| Passed | kg-topology-CloudEosRR2 | tests/extension/test_extension.py::ExtensionsTests::test_if_extensions_are_erroring_on_[kg-topology-CloudEosRR2] | Verify a list of extension are not erroring on a DUT | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| awslogs.swix extension error is |False| On router |kg-topology-CloudEosRR2| awsha.rpm extension error is |False| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_extension.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_extensions_are_erroring_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show extensions| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show extensions| on kg-topology-CloudEosRR2 INFO root:test_extension.py:117 TEST is awslogs.swix extension not erroring on |kg-topology-CloudEosRR2| INFO root:test_extension.py:119 GIVEN expected awslogs.swix extension status: |False| INFO root:test_extension.py:128 WHEN awslogs.swix extenstion error state is |False| INFO root:test_extension.py:132 THEN test case result is |True| INFO root:test_extension.py:133 OUTPUT of |show extensions| is : Name Version/Release Status Extension ----------------- -------------------- ----------- --------- awsha.rpm 0.1.1/1 A, I 1 awslogs.swix 1.4.0/1.el7 A, I 1 A: available | NA: not available | I: installed | NI: not installed | F: forced S: valid signature | NS: invalid signature INFO root:test_extension.py:117 TEST is awsha.rpm extension not erroring on |kg-topology-CloudEosRR2| INFO root:test_extension.py:119 GIVEN expected awsha.rpm extension status: |False| INFO root:test_extension.py:128 WHEN awsha.rpm extenstion error state is |False| INFO root:test_extension.py:132 THEN test case result is |True| INFO root:test_extension.py:133 OUTPUT of |show extensions| is : Name Version/Release Status Extension ----------------- -------------------- ----------- --------- awsha.rpm 0.1.1/1 A, I 1 awslogs.swix 1.4.0/1.el7 A, I 1 A: available | NA: not available | I: installed | NI: not installed | F: forced S: valid signature | NS: invalid signature | ||||
| Passed | kg-topology-CloudEosRR2 | tests/cpu/test_cpu.py::CPUTests::test_1_min_cpu_utlization_on_[kg-topology-CloudEosRR2] | Verify 1 minute CPU % is under specificied value | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| 1 minute CPU load average is |1.38%| and should be under |10%| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_cpu.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_1_min_cpu_utlization_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show processes| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show processes| on kg-topology-CloudEosRR2 INFO root:test_cpu.py:105 TEST if 1 minute CPU utilization is less than specified value on |kg-topology-CloudEosRR2| INFO root:test_cpu.py:107 GIVEN CPU utilization is less than |10| INFO root:test_cpu.py:111 WHEN CPU utilization is |1.38| INFO root:test_cpu.py:114 THEN test case result is |True| INFO root:test_cpu.py:115 OUTPUT of |show processes| is : 16:32:51 up 27 days, 15:15, 0 users, load average: 1.48, 1.38, 1.30 PID %CPU %MEM TT STAT STARTED TIME CMD 2009 102 3.4 ? Sl Aug 13 28-06:54:08 Sfe 1714 0.4 1.9 ? Sl Aug 13 02:41:57 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.13.101 -taillogs -grpcaddr=0.0.0.0:6042 8684 0.2 0.7 ? SNl Sep 02 00:23:37 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config 1255 0.1 0.9 ? S Aug 13 01:16:00 ProcMgr-worker 1566 0.1 7.3 ? Sl Aug 13 01:13:26 ConfigAgent 1 0.0 0.0 ? Ss Aug 13 00:03:52 /sbin/init 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd] 3 0.0 0.0 ? S Aug 13 00:00:21 [ksoftirqd/0] 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H] 6 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:0] 7 0.0 0.0 ? S Aug 13 00:00:38 [rcu_preempt] 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched] 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh] 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0] 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain] 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0] 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0] 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1] 15 0.0 0.0 ? S Aug 13 00:00:02 [watchdog/1] 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1] 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1] 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0] 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H] 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2] 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2] 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2] 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2] 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0] 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H] 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3] 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3] 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3] 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3] 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0] 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H] 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs] 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns] 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd] 35 0.0 0.0 ? S Aug 13 00:01:05 [khungtaskd2] 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper] 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback] 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0] 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto] 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd] 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd] 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff] 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller] 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task] 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd] 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd] 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl] 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod] 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod] 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0] 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat] 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod] 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd] 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme] 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd] 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf] 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq] 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-] 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver] 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H] 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0] 346 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:2] 384 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd 413 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f 497 0.0 0.0 ? S< Aug 13 00:00:00 [ena] 732 0.0 0.0 ? Ss Aug 13 00:01:07 /usr/lib/systemd/systemd-logind 734 0.0 0.0 ? Ss Aug 13 00:00:45 /usr/bin/ProcMonitor 742 0.0 0.1 ? Ss Aug 13 00:02:21 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 762 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1] 777 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground 797 0.0 0.0 ? Ss Aug 13 00:00:12 /usr/sbin/crond -n 812 0.0 0.0 ? S<s Aug 13 00:00:18 /usr/bin/wdogdev -t 60 823 0.0 0.0 ? Ss Aug 13 00:00:03 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid 951 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local 953 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 979 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys 981 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 990 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure 991 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1043 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil 1048 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon 1163 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1164 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1197 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm 1238 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1240 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1254 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master 1462 0.0 0.0 ? S Aug 13 00:08:45 /usr/bin/EosOomAdjust 1470 0.0 0.0 ? S Aug 13 00:00:15 [rbfd_vrf_cleanu] 1485 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid 1522 0.0 0.0 ? S Aug 13 00:02:04 /usr/bin/SlabMonitor 1523 0.0 2.5 ? S Aug 13 00:29:27 Sysdb 1565 0.0 1.2 ? S Aug 13 00:00:35 StageMgr 1570 0.0 1.4 ? S Aug 13 00:01:26 Fru 1571 0.0 1.8 ? S Aug 13 00:00:32 Launcher 1694 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=275501144304,275500693129,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp 1695 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1696 0.0 1.2 ? S Aug 13 00:07:30 Lldp 1699 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=275605242171,275551678101,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon 1700 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H] 1702 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1704 0.0 1.2 ? S Aug 13 00:02:56 McastCommon 1708 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=275773786218,275650165758,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec 1711 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1712 0.0 1.1 ? S Aug 13 00:01:46 PortSec 1721 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=279574021921,279385129478,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd 1722 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1723 0.0 1.4 ? S Aug 13 00:03:30 Bfd 1724 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=280109105290,280107199461,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag 1726 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1727 0.0 1.3 ? S Aug 13 00:13:50 Lag 1729 0.0 1.7 ? S Aug 13 00:28:05 SuperServer 1732 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=283892362299,283880109624,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira 1733 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1734 0.0 1.5 ? S Aug 13 00:03:01 Ira 1736 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=288108381572,287775061276,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy 1737 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1738 0.0 1.1 ? S Aug 13 00:02:22 LedPolicy 1739 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=288299247450,288179510165,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr 1740 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1741 0.0 1.3 ? S Aug 13 00:06:07 EventMgr 1743 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=288579662140,288395482866,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx 1744 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1745 0.0 1.2 ? S Aug 13 00:21:15 StpTxRx 1746 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=292115254711,288676120489,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld 1747 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1749 0.0 1.1 ? S Aug 13 00:00:31 StandbyCpld 1750 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=292267583010,292186647304,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor 1751 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1753 0.0 1.0 ? S Aug 13 00:31:46 AgentMonitor 1754 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=292421762940,292330626218,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel 1755 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1756 0.0 1.2 ? S Aug 13 00:01:11 Tunnel 1757 0.0 1.5 ? Sl Aug 13 00:06:26 Aaa 1759 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=292808046113,292716319651,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology 1760 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1761 0.0 1.2 ? S Aug 13 00:02:48 StpTopology 1762 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=296523011761,292995169616,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl 1763 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1764 0.0 1.4 ? S Aug 13 00:15:47 Acl 1771 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=297041265896,296648985313,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp 1773 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1774 0.0 1.1 ? S Aug 13 00:03:57 Stp 1778 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=297164816515,297132428879,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo 1780 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1782 0.0 1.1 ? S Aug 13 00:01:47 KernelNetworkInfo 1786 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=300924273292,300805414611,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6 1793 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1800 0.0 1.2 ? S Aug 13 00:02:33 McastCommon6 1806 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=301369414784,301079967103,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent 1810 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1813 0.0 1.2 ? S Aug 13 00:02:45 LacpTxAgent 1825 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=305150183208,301517231056,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp 1827 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1830 0.0 1.5 ? S Aug 13 00:03:42 Arp 1845 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=305766616581,305331306787,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib 1849 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1850 0.0 1.4 ? S Aug 13 00:02:49 KernelFib 1855 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=305914666962,305891078210,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos 1861 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1863 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=310155317299,310146122555,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat 1866 0.0 1.2 ? S Aug 13 00:02:10 Qos 1869 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1872 0.0 1.1 ? S Aug 13 00:01:47 Thermostat 1876 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=313651175211,310235138896,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib 1880 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1883 0.0 1.2 ? S Aug 13 00:00:57 L2Rib 1885 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=313910588628,313716056362,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled 1886 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1887 0.0 1.2 ? S Aug 13 00:01:24 TopoAgent 1889 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=314257465954,313997347978,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse 1890 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1892 0.0 1.0 ? S Aug 13 00:00:30 PowerFuse 1893 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=314448379045,314392881768,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager 1894 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1895 0.0 1.1 ? S Aug 13 00:00:31 PowerManager 1896 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=318077978536,317883825927,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra 1900 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1905 0.0 1.4 ? S Aug 13 00:05:18 Ebra 1913 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=318598602805,318228924536,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent 1914 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1916 0.0 1.1 ? S Aug 13 00:00:30 ReloadCauseAgent 1918 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=318762514420,318696297345,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile 1920 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1922 0.0 1.0 ? S Aug 13 00:00:30 SharedSecretProfile 1923 0.0 1.5 ? S Aug 13 00:02:52 IgmpSnooping 1933 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=322651195162,322650789524,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled 1934 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1935 0.0 1.3 ? S Aug 13 00:01:47 StaticRoute 1937 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=322914040580,322748011657,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled 1938 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1940 0.0 1.6 ? S Aug 13 00:06:58 IpRib 1943 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=326588334299,323000468604,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled 1944 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1945 0.0 1.8 ? S Aug 13 00:01:51 BgpCliHelper 1949 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=326677503453,326675454310,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute 1953 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1957 0.0 1.3 ? S Aug 13 00:03:06 ConnectedRoute 1964 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=327312488625,326986790248,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput 1965 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1966 0.0 1.3 ? S Aug 13 00:01:49 RouteInput 1974 0.0 2.2 ? Sl Aug 13 00:09:16 Bgp 2002 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=331509489560,331172745644,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe 2008 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2286 0.0 0.0 ? Ssl Aug 13 00:00:23 /usr/sbin/rsyslogd -n 2340 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq 2602 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=378753852405,378753400392,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager 2603 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2605 0.0 1.1 ? S Aug 13 00:00:33 LicenseManager 2656 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd 2657 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux 2658 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0 2664 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2656 /var/log/eos-console | sed 's/\(.*\)/\1\r/' 2667 0.0 0.0 ? S Aug 13 00:00:17 /usr/bin/tail -n 0 --retry --follow=name --pid=2656 /var/log/eos-console 2668 0.0 0.0 ? S Aug 13 00:00:00 sed s/\(.*\)/\1\r/ 2707 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct> 2734 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=399762211162,399761786247,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec 2735 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2736 0.0 1.2 ? S Aug 13 00:07:54 Ipsec 2739 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1 2766 0.0 0.1 ? Ssl Aug 13 00:00:49 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid 2770 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc 3341 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon 3343 0.0 0.1 ? Ssl Aug 13 00:01:19 /usr/libexec/strongswan/charon --use-syslog 6525 0.0 0.0 ? S 16:27:00 00:00:00 [kworker/0:0] 8662 0.0 0.0 ? S Sep 02 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh 9292 0.0 0.0 ? Rs 16:32:50 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww 18367 0.0 0.0 ? S Aug 14 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=665682214635995,665682214376331,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini 18368 0.0 0.3 ? Ss Aug 14 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 18369 0.0 1.3 ? Sl Aug 14 00:01:39 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 18413 0.0 0.0 ? Ss Aug 14 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid; 18415 0.0 0.1 ? S Aug 14 00:01:19 nginx: worker process 30446 0.0 0.0 ? S 15:58:00 00:00:00 [kworker/0:4] 31262 0.0 0.0 ? S 16:10:00 00:00:00 [kworker/0:2] | ||||
| Passed | kg-topology-CloudEosRR2 | tests/aaa/test_aaa.py::AAATests::test_if_default_login_authentication_methods_set_on_[kg-topology-CloudEosRR2] | Verify AAA default login authentication are method-lists set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| AAA authentication methods for default login: |['local']| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_default_login_authentication_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEosRR2 INFO root:test_aaa.py:270 TEST is default login authentication methods list set correct on |kg-topology-CloudEosRR2| INFO root:test_aaa.py:272 GIVEN login authentication method list: |['local']| INFO root:test_aaa.py:276 WHEN EOS login authentication method list is set to |['local']| INFO root:test_aaa.py:280 THEN test case result is |True| INFO root:test_aaa.py:281 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEosRR2 | tests/logging/test_logging.py::LoggingTests::test_if_log_messages_appear_on_[kg-topology-CloudEosRR2] | Verify local log messages | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| message |critical| NOT found in local log On router |kg-topology-CloudEosRR2| message |warning| NOT found in local log On router |kg-topology-CloudEosRR2| message |ECC| NOT found in local log On router |kg-topology-CloudEosRR2| message |servers errors| NOT found in local log On router |kg-topology-CloudEosRR2| message |parity| NOT found in local log -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_logging.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_log_messages_appear_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show logging| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show logging| on kg-topology-CloudEosRR2 INFO root:test_logging.py:74 TEST for local log message critical on |kg-topology-CloudEosRR2| INFO root:test_logging.py:86 THEN test case result is |Passed| INFO root:test_logging.py:87 OUTPUT of |show logging| is : Syslog logging: enabled Buffer logging: level debugging Console logging: level errors Persistent logging: disabled Monitor logging: level errors Synchronous logging: disabled Trap logging: level informational Sequence numbers: disabled Syslog facility: local4 Hostname format: Hostname only Repeat logging interval: disabled Repeat messages: disabled Facility Severity Effective Severity -------------------- ------------- ------------------ aaa debugging debugging accounting debugging debugging acl debugging debugging agent debugging debugging ale debugging debugging arp debugging debugging bfd debugging debugging bgp debugging debugging bmp debugging debugging capacity debugging debugging capi debugging debugging clear debugging debugging cvx debugging debugging dataplane debugging debugging dhcp debugging debugging dot1x debugging debugging dscp debugging debugging envmon debugging debugging eth debugging debugging eventmon debugging debugging extension debugging debugging fhrp debugging debugging flow debugging debugging forwarding debugging debugging fru debugging debugging fwk debugging debugging gmp debugging debugging hardware debugging debugging health debugging debugging httpservice debugging debugging igmp debugging debugging igmpsnooping debugging debugging int debugging debugging intf debugging debugging ip6routing debugging debugging iprib debugging debugging ira debugging debugging isis debugging debugging kernelfib debugging debugging lacp debugging debugging lag debugging debugging launcher debugging debugging ldp debugging debugging license debugging debugging lineproto debugging debugging lldp debugging debugging loadbalancer debugging debugging logmgr debugging debugging loopback debugging debugging loopprotect debugging debugging mapreducemonitor debugging debugging mcs debugging debugging mirroring debugging debugging mka debugging debugging mlag debugging debugging mldsnooping debugging debugging mmode debugging debugging mroute debugging debugging mrp debugging debugging msdp debugging debugging msrp debugging debugging msspolicymonitor debugging debugging mvrp debugging debugging nat debugging debugging openconfig debugging debugging openflow debugging debugging ospf debugging debugging ospf3 debugging debugging package debugging debugging pfc debugging debugging pimbsr debugging debugging portsecurity debugging debugging ptp debugging debugging pwrmgmt debugging debugging qos debugging debugging queuemonitor debugging debugging radius debugging debugging redundancy debugging debugging rib debugging debugging routing debugging debugging security debugging debugging servermonitor debugging debugging spantree debugging debugging sso debugging debugging stagemgr debugging debugging sys debugging debugging sysdb debugging debugging tapagg debugging debugging tcp debugging debugging transceiver debugging debugging tunnel debugging debugging tunnelintf debugging debugging vmtracersess debugging debugging vmwarevi debugging debugging vmwarevs debugging debugging vrf debugging debugging vrrp debugging debugging vxlan debugging debugging xmpp debugging debugging ztp debugging debugging Log Buffer: Sep 9 16:14:19 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:14:23 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:14:31 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:03 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:27 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:32 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:20:46 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:10 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:21:18 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:27 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:18 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:42 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:48 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:56 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:13 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:36 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:41 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:49 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:16 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:46 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:55 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:30:42 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:07 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:12 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:21 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:43 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:08 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:12 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:20 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] INFO root:test_logging.py:74 TEST for local log message warning on |kg-topology-CloudEosRR2| INFO root:test_logging.py:86 THEN test case result is |Passed| INFO root:test_logging.py:87 OUTPUT of |show logging| is : Syslog logging: enabled Buffer logging: level debugging Console logging: level errors Persistent logging: disabled Monitor logging: level errors Synchronous logging: disabled Trap logging: level informational Sequence numbers: disabled Syslog facility: local4 Hostname format: Hostname only Repeat logging interval: disabled Repeat messages: disabled Facility Severity Effective Severity -------------------- ------------- ------------------ aaa debugging debugging accounting debugging debugging acl debugging debugging agent debugging debugging ale debugging debugging arp debugging debugging bfd debugging debugging bgp debugging debugging bmp debugging debugging capacity debugging debugging capi debugging debugging clear debugging debugging cvx debugging debugging dataplane debugging debugging dhcp debugging debugging dot1x debugging debugging dscp debugging debugging envmon debugging debugging eth debugging debugging eventmon debugging debugging extension debugging debugging fhrp debugging debugging flow debugging debugging forwarding debugging debugging fru debugging debugging fwk debugging debugging gmp debugging debugging hardware debugging debugging health debugging debugging httpservice debugging debugging igmp debugging debugging igmpsnooping debugging debugging int debugging debugging intf debugging debugging ip6routing debugging debugging iprib debugging debugging ira debugging debugging isis debugging debugging kernelfib debugging debugging lacp debugging debugging lag debugging debugging launcher debugging debugging ldp debugging debugging license debugging debugging lineproto debugging debugging lldp debugging debugging loadbalancer debugging debugging logmgr debugging debugging loopback debugging debugging loopprotect debugging debugging mapreducemonitor debugging debugging mcs debugging debugging mirroring debugging debugging mka debugging debugging mlag debugging debugging mldsnooping debugging debugging mmode debugging debugging mroute debugging debugging mrp debugging debugging msdp debugging debugging msrp debugging debugging msspolicymonitor debugging debugging mvrp debugging debugging nat debugging debugging openconfig debugging debugging openflow debugging debugging ospf debugging debugging ospf3 debugging debugging package debugging debugging pfc debugging debugging pimbsr debugging debugging portsecurity debugging debugging ptp debugging debugging pwrmgmt debugging debugging qos debugging debugging queuemonitor debugging debugging radius debugging debugging redundancy debugging debugging rib debugging debugging routing debugging debugging security debugging debugging servermonitor debugging debugging spantree debugging debugging sso debugging debugging stagemgr debugging debugging sys debugging debugging sysdb debugging debugging tapagg debugging debugging tcp debugging debugging transceiver debugging debugging tunnel debugging debugging tunnelintf debugging debugging vmtracersess debugging debugging vmwarevi debugging debugging vmwarevs debugging debugging vrf debugging debugging vrrp debugging debugging vxlan debugging debugging xmpp debugging debugging ztp debugging debugging Log Buffer: Sep 9 16:14:19 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:14:23 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:14:31 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:03 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:27 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:32 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:20:46 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:10 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:21:18 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:27 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:18 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:42 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:48 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:56 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:13 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:36 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:41 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:49 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:16 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:46 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:55 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:30:42 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:07 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:12 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:21 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:43 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:08 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:12 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:20 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] INFO root:test_logging.py:74 TEST for local log message ECC on |kg-topology-CloudEosRR2| INFO root:test_logging.py:86 THEN test case result is |Passed| INFO root:test_logging.py:87 OUTPUT of |show logging| is : Syslog logging: enabled Buffer logging: level debugging Console logging: level errors Persistent logging: disabled Monitor logging: level errors Synchronous logging: disabled Trap logging: level informational Sequence numbers: disabled Syslog facility: local4 Hostname format: Hostname only Repeat logging interval: disabled Repeat messages: disabled Facility Severity Effective Severity -------------------- ------------- ------------------ aaa debugging debugging accounting debugging debugging acl debugging debugging agent debugging debugging ale debugging debugging arp debugging debugging bfd debugging debugging bgp debugging debugging bmp debugging debugging capacity debugging debugging capi debugging debugging clear debugging debugging cvx debugging debugging dataplane debugging debugging dhcp debugging debugging dot1x debugging debugging dscp debugging debugging envmon debugging debugging eth debugging debugging eventmon debugging debugging extension debugging debugging fhrp debugging debugging flow debugging debugging forwarding debugging debugging fru debugging debugging fwk debugging debugging gmp debugging debugging hardware debugging debugging health debugging debugging httpservice debugging debugging igmp debugging debugging igmpsnooping debugging debugging int debugging debugging intf debugging debugging ip6routing debugging debugging iprib debugging debugging ira debugging debugging isis debugging debugging kernelfib debugging debugging lacp debugging debugging lag debugging debugging launcher debugging debugging ldp debugging debugging license debugging debugging lineproto debugging debugging lldp debugging debugging loadbalancer debugging debugging logmgr debugging debugging loopback debugging debugging loopprotect debugging debugging mapreducemonitor debugging debugging mcs debugging debugging mirroring debugging debugging mka debugging debugging mlag debugging debugging mldsnooping debugging debugging mmode debugging debugging mroute debugging debugging mrp debugging debugging msdp debugging debugging msrp debugging debugging msspolicymonitor debugging debugging mvrp debugging debugging nat debugging debugging openconfig debugging debugging openflow debugging debugging ospf debugging debugging ospf3 debugging debugging package debugging debugging pfc debugging debugging pimbsr debugging debugging portsecurity debugging debugging ptp debugging debugging pwrmgmt debugging debugging qos debugging debugging queuemonitor debugging debugging radius debugging debugging redundancy debugging debugging rib debugging debugging routing debugging debugging security debugging debugging servermonitor debugging debugging spantree debugging debugging sso debugging debugging stagemgr debugging debugging sys debugging debugging sysdb debugging debugging tapagg debugging debugging tcp debugging debugging transceiver debugging debugging tunnel debugging debugging tunnelintf debugging debugging vmtracersess debugging debugging vmwarevi debugging debugging vmwarevs debugging debugging vrf debugging debugging vrrp debugging debugging vxlan debugging debugging xmpp debugging debugging ztp debugging debugging Log Buffer: Sep 9 16:14:19 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:14:23 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:14:31 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:03 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:27 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:32 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:20:46 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:10 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:21:18 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:27 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:18 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:42 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:48 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:56 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:13 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:36 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:41 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:49 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:16 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:46 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:55 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:30:42 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:07 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:12 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:21 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:43 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:08 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:12 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:20 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] INFO root:test_logging.py:74 TEST for local log message servers errors on |kg-topology-CloudEosRR2| INFO root:test_logging.py:86 THEN test case result is |Passed| INFO root:test_logging.py:87 OUTPUT of |show logging| is : Syslog logging: enabled Buffer logging: level debugging Console logging: level errors Persistent logging: disabled Monitor logging: level errors Synchronous logging: disabled Trap logging: level informational Sequence numbers: disabled Syslog facility: local4 Hostname format: Hostname only Repeat logging interval: disabled Repeat messages: disabled Facility Severity Effective Severity -------------------- ------------- ------------------ aaa debugging debugging accounting debugging debugging acl debugging debugging agent debugging debugging ale debugging debugging arp debugging debugging bfd debugging debugging bgp debugging debugging bmp debugging debugging capacity debugging debugging capi debugging debugging clear debugging debugging cvx debugging debugging dataplane debugging debugging dhcp debugging debugging dot1x debugging debugging dscp debugging debugging envmon debugging debugging eth debugging debugging eventmon debugging debugging extension debugging debugging fhrp debugging debugging flow debugging debugging forwarding debugging debugging fru debugging debugging fwk debugging debugging gmp debugging debugging hardware debugging debugging health debugging debugging httpservice debugging debugging igmp debugging debugging igmpsnooping debugging debugging int debugging debugging intf debugging debugging ip6routing debugging debugging iprib debugging debugging ira debugging debugging isis debugging debugging kernelfib debugging debugging lacp debugging debugging lag debugging debugging launcher debugging debugging ldp debugging debugging license debugging debugging lineproto debugging debugging lldp debugging debugging loadbalancer debugging debugging logmgr debugging debugging loopback debugging debugging loopprotect debugging debugging mapreducemonitor debugging debugging mcs debugging debugging mirroring debugging debugging mka debugging debugging mlag debugging debugging mldsnooping debugging debugging mmode debugging debugging mroute debugging debugging mrp debugging debugging msdp debugging debugging msrp debugging debugging msspolicymonitor debugging debugging mvrp debugging debugging nat debugging debugging openconfig debugging debugging openflow debugging debugging ospf debugging debugging ospf3 debugging debugging package debugging debugging pfc debugging debugging pimbsr debugging debugging portsecurity debugging debugging ptp debugging debugging pwrmgmt debugging debugging qos debugging debugging queuemonitor debugging debugging radius debugging debugging redundancy debugging debugging rib debugging debugging routing debugging debugging security debugging debugging servermonitor debugging debugging spantree debugging debugging sso debugging debugging stagemgr debugging debugging sys debugging debugging sysdb debugging debugging tapagg debugging debugging tcp debugging debugging transceiver debugging debugging tunnel debugging debugging tunnelintf debugging debugging vmtracersess debugging debugging vmwarevi debugging debugging vmwarevs debugging debugging vrf debugging debugging vrrp debugging debugging vxlan debugging debugging xmpp debugging debugging ztp debugging debugging Log Buffer: Sep 9 16:14:19 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:14:23 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:14:31 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:03 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:27 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:32 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:20:46 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:10 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:21:18 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:27 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:18 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:42 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:48 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:56 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:13 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:36 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:41 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:49 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:16 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:46 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:55 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:30:42 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:07 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:12 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:21 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:43 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:08 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:12 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:20 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] INFO root:test_logging.py:74 TEST for local log message parity on |kg-topology-CloudEosRR2| INFO root:test_logging.py:86 THEN test case result is |Passed| INFO root:test_logging.py:87 OUTPUT of |show logging| is : Syslog logging: enabled Buffer logging: level debugging Console logging: level errors Persistent logging: disabled Monitor logging: level errors Synchronous logging: disabled Trap logging: level informational Sequence numbers: disabled Syslog facility: local4 Hostname format: Hostname only Repeat logging interval: disabled Repeat messages: disabled Facility Severity Effective Severity -------------------- ------------- ------------------ aaa debugging debugging accounting debugging debugging acl debugging debugging agent debugging debugging ale debugging debugging arp debugging debugging bfd debugging debugging bgp debugging debugging bmp debugging debugging capacity debugging debugging capi debugging debugging clear debugging debugging cvx debugging debugging dataplane debugging debugging dhcp debugging debugging dot1x debugging debugging dscp debugging debugging envmon debugging debugging eth debugging debugging eventmon debugging debugging extension debugging debugging fhrp debugging debugging flow debugging debugging forwarding debugging debugging fru debugging debugging fwk debugging debugging gmp debugging debugging hardware debugging debugging health debugging debugging httpservice debugging debugging igmp debugging debugging igmpsnooping debugging debugging int debugging debugging intf debugging debugging ip6routing debugging debugging iprib debugging debugging ira debugging debugging isis debugging debugging kernelfib debugging debugging lacp debugging debugging lag debugging debugging launcher debugging debugging ldp debugging debugging license debugging debugging lineproto debugging debugging lldp debugging debugging loadbalancer debugging debugging logmgr debugging debugging loopback debugging debugging loopprotect debugging debugging mapreducemonitor debugging debugging mcs debugging debugging mirroring debugging debugging mka debugging debugging mlag debugging debugging mldsnooping debugging debugging mmode debugging debugging mroute debugging debugging mrp debugging debugging msdp debugging debugging msrp debugging debugging msspolicymonitor debugging debugging mvrp debugging debugging nat debugging debugging openconfig debugging debugging openflow debugging debugging ospf debugging debugging ospf3 debugging debugging package debugging debugging pfc debugging debugging pimbsr debugging debugging portsecurity debugging debugging ptp debugging debugging pwrmgmt debugging debugging qos debugging debugging queuemonitor debugging debugging radius debugging debugging redundancy debugging debugging rib debugging debugging routing debugging debugging security debugging debugging servermonitor debugging debugging spantree debugging debugging sso debugging debugging stagemgr debugging debugging sys debugging debugging sysdb debugging debugging tapagg debugging debugging tcp debugging debugging transceiver debugging debugging tunnel debugging debugging tunnelintf debugging debugging vmtracersess debugging debugging vmwarevi debugging debugging vmwarevs debugging debugging vrf debugging debugging vrrp debugging debugging vxlan debugging debugging xmpp debugging debugging ztp debugging debugging Log Buffer: Sep 9 16:14:19 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:14:23 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:14:31 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:03 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:27 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:32 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:20:46 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:10 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:21:18 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:27 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:18 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:42 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:48 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:56 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:13 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:36 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:41 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:49 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:16 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:46 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:55 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:30:42 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:07 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:12 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:21 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:43 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:08 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:12 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:20 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] | ||||
| Passed | kg-topology-CloudEosRR2 | tests/cpu/test_cpu.py::CPUTests::test_5_min_cpu_utlization_on_[kg-topology-CloudEosRR2] | Verify 5 minute CPU % is under specificied value | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| 5 minute CPU load average is |1.3%| and should be under |10%| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_cpu.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_5_min_cpu_utlization_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show processes| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show processes| on kg-topology-CloudEosRR2 INFO root:test_cpu.py:140 TEST if 5 minute CPU utilization is less than specified value on |kg-topology-CloudEosRR2| INFO root:test_cpu.py:142 GIVEN CPU utilization is less than |10| INFO root:test_cpu.py:146 WHEN CPU utilization is |1.3| INFO root:test_cpu.py:149 THEN test case result is |True| INFO root:test_cpu.py:150 OUTPUT of |show processes| is : 16:32:51 up 27 days, 15:15, 0 users, load average: 1.48, 1.38, 1.30 PID %CPU %MEM TT STAT STARTED TIME CMD 2009 102 3.4 ? Sl Aug 13 28-06:54:08 Sfe 1714 0.4 1.9 ? Sl Aug 13 02:41:57 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.13.101 -taillogs -grpcaddr=0.0.0.0:6042 8684 0.2 0.7 ? SNl Sep 02 00:23:37 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config 1255 0.1 0.9 ? S Aug 13 01:16:00 ProcMgr-worker 1566 0.1 7.3 ? Sl Aug 13 01:13:26 ConfigAgent 1 0.0 0.0 ? Ss Aug 13 00:03:52 /sbin/init 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd] 3 0.0 0.0 ? S Aug 13 00:00:21 [ksoftirqd/0] 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H] 6 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:0] 7 0.0 0.0 ? S Aug 13 00:00:38 [rcu_preempt] 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched] 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh] 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0] 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain] 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0] 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0] 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1] 15 0.0 0.0 ? S Aug 13 00:00:02 [watchdog/1] 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1] 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1] 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0] 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H] 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2] 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2] 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2] 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2] 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0] 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H] 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3] 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3] 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3] 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3] 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0] 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H] 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs] 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns] 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd] 35 0.0 0.0 ? S Aug 13 00:01:05 [khungtaskd2] 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper] 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback] 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0] 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto] 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd] 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd] 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff] 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller] 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task] 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd] 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd] 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl] 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod] 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod] 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0] 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat] 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod] 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd] 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme] 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd] 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf] 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq] 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-] 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver] 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H] 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0] 346 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:2] 384 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd 413 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f 497 0.0 0.0 ? S< Aug 13 00:00:00 [ena] 732 0.0 0.0 ? Ss Aug 13 00:01:07 /usr/lib/systemd/systemd-logind 734 0.0 0.0 ? Ss Aug 13 00:00:45 /usr/bin/ProcMonitor 742 0.0 0.1 ? Ss Aug 13 00:02:21 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 762 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1] 777 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground 797 0.0 0.0 ? Ss Aug 13 00:00:12 /usr/sbin/crond -n 812 0.0 0.0 ? S<s Aug 13 00:00:18 /usr/bin/wdogdev -t 60 823 0.0 0.0 ? Ss Aug 13 00:00:03 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid 951 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local 953 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 979 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys 981 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 990 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure 991 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1043 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil 1048 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon 1163 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1164 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1197 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm 1238 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1240 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1254 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master 1462 0.0 0.0 ? S Aug 13 00:08:45 /usr/bin/EosOomAdjust 1470 0.0 0.0 ? S Aug 13 00:00:15 [rbfd_vrf_cleanu] 1485 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid 1522 0.0 0.0 ? S Aug 13 00:02:04 /usr/bin/SlabMonitor 1523 0.0 2.5 ? S Aug 13 00:29:27 Sysdb 1565 0.0 1.2 ? S Aug 13 00:00:35 StageMgr 1570 0.0 1.4 ? S Aug 13 00:01:26 Fru 1571 0.0 1.8 ? S Aug 13 00:00:32 Launcher 1694 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=275501144304,275500693129,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp 1695 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1696 0.0 1.2 ? S Aug 13 00:07:30 Lldp 1699 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=275605242171,275551678101,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon 1700 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H] 1702 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1704 0.0 1.2 ? S Aug 13 00:02:56 McastCommon 1708 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=275773786218,275650165758,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec 1711 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1712 0.0 1.1 ? S Aug 13 00:01:46 PortSec 1721 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=279574021921,279385129478,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd 1722 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1723 0.0 1.4 ? S Aug 13 00:03:30 Bfd 1724 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=280109105290,280107199461,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag 1726 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1727 0.0 1.3 ? S Aug 13 00:13:50 Lag 1729 0.0 1.7 ? S Aug 13 00:28:05 SuperServer 1732 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=283892362299,283880109624,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira 1733 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1734 0.0 1.5 ? S Aug 13 00:03:01 Ira 1736 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=288108381572,287775061276,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy 1737 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1738 0.0 1.1 ? S Aug 13 00:02:22 LedPolicy 1739 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=288299247450,288179510165,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr 1740 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1741 0.0 1.3 ? S Aug 13 00:06:07 EventMgr 1743 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=288579662140,288395482866,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx 1744 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1745 0.0 1.2 ? S Aug 13 00:21:15 StpTxRx 1746 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=292115254711,288676120489,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld 1747 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1749 0.0 1.1 ? S Aug 13 00:00:31 StandbyCpld 1750 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=292267583010,292186647304,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor 1751 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1753 0.0 1.0 ? S Aug 13 00:31:46 AgentMonitor 1754 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=292421762940,292330626218,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel 1755 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1756 0.0 1.2 ? S Aug 13 00:01:11 Tunnel 1757 0.0 1.5 ? Sl Aug 13 00:06:26 Aaa 1759 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=292808046113,292716319651,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology 1760 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1761 0.0 1.2 ? S Aug 13 00:02:48 StpTopology 1762 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=296523011761,292995169616,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl 1763 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1764 0.0 1.4 ? S Aug 13 00:15:47 Acl 1771 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=297041265896,296648985313,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp 1773 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1774 0.0 1.1 ? S Aug 13 00:03:57 Stp 1778 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=297164816515,297132428879,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo 1780 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1782 0.0 1.1 ? S Aug 13 00:01:47 KernelNetworkInfo 1786 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=300924273292,300805414611,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6 1793 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1800 0.0 1.2 ? S Aug 13 00:02:33 McastCommon6 1806 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=301369414784,301079967103,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent 1810 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1813 0.0 1.2 ? S Aug 13 00:02:45 LacpTxAgent 1825 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=305150183208,301517231056,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp 1827 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1830 0.0 1.5 ? S Aug 13 00:03:42 Arp 1845 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=305766616581,305331306787,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib 1849 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1850 0.0 1.4 ? S Aug 13 00:02:49 KernelFib 1855 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=305914666962,305891078210,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos 1861 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1863 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=310155317299,310146122555,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat 1866 0.0 1.2 ? S Aug 13 00:02:10 Qos 1869 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1872 0.0 1.1 ? S Aug 13 00:01:47 Thermostat 1876 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=313651175211,310235138896,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib 1880 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1883 0.0 1.2 ? S Aug 13 00:00:57 L2Rib 1885 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=313910588628,313716056362,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled 1886 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1887 0.0 1.2 ? S Aug 13 00:01:24 TopoAgent 1889 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=314257465954,313997347978,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse 1890 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1892 0.0 1.0 ? S Aug 13 00:00:30 PowerFuse 1893 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=314448379045,314392881768,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager 1894 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1895 0.0 1.1 ? S Aug 13 00:00:31 PowerManager 1896 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=318077978536,317883825927,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra 1900 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1905 0.0 1.4 ? S Aug 13 00:05:18 Ebra 1913 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=318598602805,318228924536,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent 1914 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1916 0.0 1.1 ? S Aug 13 00:00:30 ReloadCauseAgent 1918 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=318762514420,318696297345,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile 1920 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1922 0.0 1.0 ? S Aug 13 00:00:30 SharedSecretProfile 1923 0.0 1.5 ? S Aug 13 00:02:52 IgmpSnooping 1933 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=322651195162,322650789524,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled 1934 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1935 0.0 1.3 ? S Aug 13 00:01:47 StaticRoute 1937 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=322914040580,322748011657,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled 1938 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1940 0.0 1.6 ? S Aug 13 00:06:58 IpRib 1943 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=326588334299,323000468604,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled 1944 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1945 0.0 1.8 ? S Aug 13 00:01:51 BgpCliHelper 1949 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=326677503453,326675454310,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute 1953 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1957 0.0 1.3 ? S Aug 13 00:03:06 ConnectedRoute 1964 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=327312488625,326986790248,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput 1965 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1966 0.0 1.3 ? S Aug 13 00:01:49 RouteInput 1974 0.0 2.2 ? Sl Aug 13 00:09:16 Bgp 2002 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=331509489560,331172745644,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe 2008 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2286 0.0 0.0 ? Ssl Aug 13 00:00:23 /usr/sbin/rsyslogd -n 2340 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq 2602 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=378753852405,378753400392,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager 2603 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2605 0.0 1.1 ? S Aug 13 00:00:33 LicenseManager 2656 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd 2657 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux 2658 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0 2664 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2656 /var/log/eos-console | sed 's/\(.*\)/\1\r/' 2667 0.0 0.0 ? S Aug 13 00:00:17 /usr/bin/tail -n 0 --retry --follow=name --pid=2656 /var/log/eos-console 2668 0.0 0.0 ? S Aug 13 00:00:00 sed s/\(.*\)/\1\r/ 2707 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct> 2734 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=399762211162,399761786247,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec 2735 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2736 0.0 1.2 ? S Aug 13 00:07:54 Ipsec 2739 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1 2766 0.0 0.1 ? Ssl Aug 13 00:00:49 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid 2770 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc 3341 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon 3343 0.0 0.1 ? Ssl Aug 13 00:01:19 /usr/libexec/strongswan/charon --use-syslog 6525 0.0 0.0 ? S 16:27:00 00:00:00 [kworker/0:0] 8662 0.0 0.0 ? S Sep 02 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh 9292 0.0 0.0 ? Rs 16:32:50 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww 18367 0.0 0.0 ? S Aug 14 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=665682214635995,665682214376331,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini 18368 0.0 0.3 ? Ss Aug 14 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 18369 0.0 1.3 ? Sl Aug 14 00:01:39 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 18413 0.0 0.0 ? Ss Aug 14 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid; 18415 0.0 0.1 ? S Aug 14 00:01:19 nginx: worker process 30446 0.0 0.0 ? S 15:58:00 00:00:00 [kworker/0:4] 31262 0.0 0.0 ? S 16:10:00 00:00:00 [kworker/0:2] | ||||
| Passed | kg-topology-CloudEosRR2 | tests/aaa/test_aaa.py::AAATests::test_if_login_authentication_methods_set_on_[kg-topology-CloudEosRR2] | Verify AAA login authentication are method-lists set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_login_authentication_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEosRR2 INFO root:test_aaa.py:313 TEST is login authentication methods list set correct on |kg-topology-CloudEosRR2| INFO root:test_aaa.py:315 GIVEN login authentication method list: |None| INFO root:test_aaa.py:332 WHEN EOS login authentication method list is set to |None| INFO root:test_aaa.py:334 THEN test case result is |True| INFO root:test_aaa.py:335 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEosRR2 | tests/memory/test_memory.py::MemoryTests::test_memory_utilization_on_[kg-topology-CloudEosRR2] | Verify memory is not exceeding high utlization | 0.05 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |dut_name| memory utilization percent is |38.58219538298774%| and should be under 70% -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_memory.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_memory_utilization_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show version| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show version| on kg-topology-CloudEosRR2 INFO root:test_memory.py:71 TEST if memory utilization is less than specified value on |kg-topology-CloudEosRR2| INFO root:test_memory.py:73 GIVEN memory utilization is less than |70%| INFO root:test_memory.py:80 WHEN memory utilization is |38.58219538298774| INFO root:test_memory.py:83 THEN test case result is |True%| INFO root:test_memory.py:84 OUTPUT of |show version| is : Arista vEOS Hardware version: Serial number: 93F97AD3A1044C742872BA1CFA684D63 System MAC address: 0654.9b7c.b00f Software image version: 4.23.1F-cloud-16179785.jakartarel (engineering build) Architecture: x86_64 Internal build version: 4.23.1F-cloud-16179785.jakartarel Internal build ID: 6bc96200-86c1-4e86-bed7-8280a6802809 Uptime: 3 weeks, 6 days, 15 hours and 15 minutes Total memory: 7818736 kB Free memory: 3016640 kB INFO root:tests_tools.py:469 Find Index for test suite: test_memory.py on dut kg-topology-CloudEosRR2 INFO root:tests_tools.py:473 Test suite test_memory.py exists in results file at index 1 INFO root:tests_tools.py:480 Find Index for test case: test_memory_utilization_on_ on dut kg-topology-CloudEosRR2 INFO root:tests_tools.py:484 Test case test_memory_utilization_on_ exists in results file at index 0 INFO root:tests_tools.py:491 Add DUT kg-topology-CloudEosRR2 to test case test_memory_utilization_on_ with parameters {'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True, 'actual_output': 38.58219538298774, 'test_result': True, 'dut': 'kg-topology-CloudEosRR2'} | ||||
| Passed | kg-topology-CloudEosRR2 | tests/daemon/test_daemon.py::DaemonTests::test_if_daemons_are_running_on_[kg-topology-CloudEosRR2] | Verify a list of daemons are running on DUT | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2|: TerminAttr daemon running is |True| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_daemon.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_daemons_are_running_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show daemon| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show daemon| on kg-topology-CloudEosRR2 INFO root:test_daemon.py:73 TEST is TerminAttr daemon running on |kg-topology-CloudEosRR2| INFO root:test_daemon.py:74 GIVEN expected TerminAttr running state: |True| INFO root:test_daemon.py:79 WHEN TerminAttr device running state is |True| INFO root:test_daemon.py:83 THEN test case result is |True| INFO root:test_daemon.py:84 OUTPUT of |show daemon| is : Process: TerminAttr (running with PID 1714) Uptime: 27 days, 15:14:12 (Start time: Thu Aug 13 01:18:44 2020) No configuration options stored. No status data stored. | ||||
| Passed | kg-topology-CloudEosRR2 | tests/filesystem/test_filesystem.py::FileSystemTests::test_if_files_on_[kg-topology-CloudEosRR2] | Verify filesystem is correct and expected files are present | 0.74 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2|: flash:startup-config file isDir state is |False| On router |kg-topology-CloudEosRR2|: flash:veos-config file isDir state is |False| On router |kg-topology-CloudEosRR2|: flash:zerotouch-config file isDir state is |False| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_filesystem.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_files_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True} INFO root:test_filesystem.py:70 TEST is flash:startup-config file present on |kg-topology-CloudEosRR2| INFO root:test_filesystem.py:71 GIVEN expected flash:startup-config isDir state: |False| INFO root:tests_tools.py:245 Raw Input for return_show_cmd show_cmd: show file information flash:startup-config dut: {'connection': Node(connection=EapiConnection(transport=https://3.131.6.163:443//command-api)), 'name': 'kg-topology-CloudEosRR2', 'output': {'interface_list': [{'hostname': 'kg-topology-CloudEosRR2', 'interface_name': 'Ethernet1', 'z_hostname': 'spine01', 'z_interface_name': 'Ethernet2', 'media_type': ''}], 'show interfaces status': {'json': {'interfaceStatuses': {'Ethernet100': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 10000000000, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet1': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}}}, 'text': 'Port Name Status Vlan Duplex Speed Type Flags Encapsulation\nEt1 connected routed full unconf 10/100/1000 \nEt100 connected routed full 10G 10/100/1000 \n\n'}, 'show interfaces phy detail': {'json': {'interfacePhyStatuses': {}}, 'text': ''}, 'show hostname': {'json': {'fqdn': 'kg-topology-CloudEosRR2', 'hostname': 'kg-topology-CloudEosRR2'}, 'text': 'Hostname: kg-topology-CloudEosRR2\nFQDN: kg-topology-CloudEosRR2\n'}, 'show extensions': {'json': {'extensions': {'awslogs.swix': {'status': 'installed', 'vendor': 'Amazon <UNKNOWN>', 'description': ' awsclicwlogs This awscli plugin provides the pull, push and filter commands to\naccess AWS CloudWatch Logs service. The awsclicwlogs package works on Python\nversions:* 2.6.5 and greater * 2.7.x and greater * 3.3.x and greater\nInstallation The easiest way to install awsclicwlogs is to use pip_:: $ pip\ninstall awsclicwlogsor, if you are not installing in a virtualenv:: $ sudo pip\ninstall ...', 'presence': 'present', 'rpms': {'awslogs.noarch.rpm': {'release': '1.el7', 'version': '1.4.0'}}, 'summary': 'AWSCLI CloudWatch Logs plugin', 'version': '1.4.0', 'numRpms': 1, 'error': False, 'release': '1.el7', 'installedSize': 23414055}, 'awsha.rpm': {'status': 'installed', 'vendor': '', 'description': 'Aws HA', 'presence': 'present', 'rpms': {'awsha.rpm': {'release': '1', 'version': '0.1.1'}}, 'summary': 'Aws HA', 'version': '0.1.1', 'numRpms': 1, 'error': False, 'release': '1', 'installedSize': 10073042}}}, 'text': 'Name Version/Release Status Extension\n----------------- -------------------- ----------- ---------\nawsha.rpm 0.1.1/1 A, I 1 \nawslogs.swix 1.4.0/1.el7 A, I 1 \n\n\nA: available | NA: not available | I: installed | NI: not installed | F: forced\nS: valid signature | NS: invalid signature\n'}, 'show version': {'json': {'memTotal': 7818736, 'uptime': 2387712.0, 'modelName': 'vEOS', 'internalVersion': '4.23.1F-cloud-16179785.jakartarel', 'mfgName': 'Arista', 'serialNumber': '93F97AD3A1044C742872BA1CFA684D63', 'systemMacAddress': '06:54:9b:7c:b0:0f', 'bootupTimestamp': 1597281459.0, 'memFree': 3016648, 'version': '4.23.1F-cloud-16179785.jakartarel (engineering build)', 'configMacAddress': '00:00:00:00:00:00', 'isIntlVersion': False, 'internalBuildId': '6bc96200-86c1-4e86-bed7-8280a6802809', 'hardwareRevision': '', 'hwMacAddress': '00:00:00:00:00:00', 'architecture': 'x86_64'}, 'text': 'Arista vEOS\nHardware version: \nSerial number: 93F97AD3A1044C742872BA1CFA684D63\nSystem MAC address: 0654.9b7c.b00f\n\nSoftware image version: 4.23.1F-cloud-16179785.jakartarel (engineering build)\nArchitecture: x86_64\nInternal build version: 4.23.1F-cloud-16179785.jakartarel\nInternal build ID: 6bc96200-86c1-4e86-bed7-8280a6802809\n\nUptime: 3 weeks, 6 days, 15 hours and 15 minutes\nTotal memory: 7818736 kB\nFree memory: 3016640 kB\n\n'}, 'show processes': {'json': {'processes': {'2009': {'totalActiveTime': 2444047, 'memPct': 3.4, 'cpuPct': 102.0, 'startTime': 1597281536.0, 'cmd': 'Sfe', 'state': 'Sl', 'ttyName': '?'}, '1714': {'totalActiveTime': 9717, 'memPct': 1.9, 'cpuPct': 0.4, 'startTime': 1597281523.0, 'cmd': '/usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.13.101 -taillogs -grpcaddr=0.0.0.0:6042', 'state': 'Sl', 'ttyName': '?'}, '8684': {'totalActiveTime': 1417, 'memPct': 0.7, 'cpuPct': 0.2, 'startTime': 1599077706.0, 'cmd': 'python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config', 'state': 'SNl', 'ttyName': '?'}, '1255': {'totalActiveTime': 4560, 'memPct': 0.9, 'cpuPct': 0.1, 'startTime': 1597281484.0, 'cmd': 'ProcMgr-worker', 'state': 'S', 'ttyName': '?'}, '1566': {'totalActiveTime': 4405, 'memPct': 7.2, 'cpuPct': 0.1, 'startTime': 1597281501.0, 'cmd': 'ConfigAgent', 'state': 'Sl', 'ttyName': '?'}, '1': {'totalActiveTime': 232, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '/sbin/init', 'state': 'Ss', 'ttyName': '?'}, '2': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kthreadd]', 'state': 'S', 'ttyName': '?'}, '3': {'totalActiveTime': 21, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ksoftirqd/0]', 'state': 'S', 'ttyName': '?'}, '5': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/0:0H]', 'state': 'S<', 'ttyName': '?'}, '6': {'totalActiveTime': 1, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/u8:0]', 'state': 'S', 'ttyName': '?'}, '7': {'totalActiveTime': 38, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[rcu_preempt]', 'state': 'S', 'ttyName': '?'}, '8': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[rcu_sched]', 'state': 'S', 'ttyName': '?'}, '9': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[rcu_bh]', 'state': 'S', 'ttyName': '?'}, '10': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[migration/0]', 'state': 'S', 'ttyName': '?'}, '11': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[lru-add-drain]', 'state': 'S<', 'ttyName': '?'}, '12': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[watchdog/0]', 'state': 'S', 'ttyName': '?'}, '13': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[cpuhp/0]', 'state': 'S', 'ttyName': '?'}, '14': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[cpuhp/1]', 'state': 'S', 'ttyName': '?'}, '15': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[watchdog/1]', 'state': 'S', 'ttyName': '?'}, '16': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[migration/1]', 'state': 'S', 'ttyName': '?'}, '17': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ksoftirqd/1]', 'state': 'S', 'ttyName': '?'}, '18': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/1:0]', 'state': 'S', 'ttyName': '?'}, '19': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/1:0H]', 'state': 'S<', 'ttyName': '?'}, '20': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[cpuhp/2]', 'state': 'S', 'ttyName': '?'}, '21': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[watchdog/2]', 'state': 'S', 'ttyName': '?'}, '22': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[migration/2]', 'state': 'S', 'ttyName': '?'}, '23': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ksoftirqd/2]', 'state': 'S', 'ttyName': '?'}, '24': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/2:0]', 'state': 'S', 'ttyName': '?'}, '25': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/2:0H]', 'state': 'S<', 'ttyName': '?'}, '26': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[cpuhp/3]', 'state': 'S', 'ttyName': '?'}, '27': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[watchdog/3]', 'state': 'S', 'ttyName': '?'}, '28': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[migration/3]', 'state': 'S', 'ttyName': '?'}, '29': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ksoftirqd/3]', 'state': 'S', 'ttyName': '?'}, '30': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/3:0]', 'state': 'S', 'ttyName': '?'}, '31': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/3:0H]', 'state': 'S<', 'ttyName': '?'}, '32': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kdevtmpfs]', 'state': 'S', 'ttyName': '?'}, '33': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[netns]', 'state': 'S<', 'ttyName': '?'}, '34': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[khungtaskd]', 'state': 'S', 'ttyName': '?'}, '35': {'totalActiveTime': 65, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[khungtaskd2]', 'state': 'S', 'ttyName': '?'}, '36': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[oom_reaper]', 'state': 'S', 'ttyName': '?'}, '37': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[writeback]', 'state': 'S<', 'ttyName': '?'}, '38': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kcompactd0]', 'state': 'S', 'ttyName': '?'}, '39': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[crypto]', 'state': 'S<', 'ttyName': '?'}, '40': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kintegrityd]', 'state': 'S<', 'ttyName': '?'}, '41': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '42': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kblockd]', 'state': 'S<', 'ttyName': '?'}, '43': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ata_sff]', 'state': 'S<', 'ttyName': '?'}, '44': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[edac-poller]', 'state': 'S<', 'ttyName': '?'}, '45': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[dst_gc_task]', 'state': 'S', 'ttyName': '?'}, '46': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[watchdogd]', 'state': 'S<', 'ttyName': '?'}, '47': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[arp_cache-prd]', 'state': 'S', 'ttyName': '?'}, '49': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[icmp_unreachabl]', 'state': 'S', 'ttyName': '?'}, '50': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[rpciod]', 'state': 'S<', 'ttyName': '?'}, '51': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[xprtiod]', 'state': 'S<', 'ttyName': '?'}, '52': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kswapd0]', 'state': 'S', 'ttyName': '?'}, '53': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[vmstat]', 'state': 'S<', 'ttyName': '?'}, '54': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[nfsiod]', 'state': 'S<', 'ttyName': '?'}, '63': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[pcielwd]', 'state': 'S<', 'ttyName': '?'}, '64': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '65': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '66': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '67': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '68': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '69': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '70': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '71': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '72': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[nvme]', 'state': 'S<', 'ttyName': '?'}, '74': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ndisc_cache-prd]', 'state': 'S', 'ttyName': '?'}, '75': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ipv6_addrconf]', 'state': 'S<', 'ttyName': '?'}, '76': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ecc_log_wq]', 'state': 'S<', 'ttyName': '?'}, '124': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '125': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '171': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[jbd2/nvme0n1p1-]', 'state': 'S', 'ttyName': '?'}, '172': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ext4-rsv-conver]', 'state': 'S<', 'ttyName': '?'}, '194': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281459.0, 'cmd': '[kworker/0:1H]', 'state': 'S<', 'ttyName': '?'}, '272': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '[loop0]', 'state': 'S<', 'ttyName': '?'}, '346': {'totalActiveTime': 1, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/u8:2]', 'state': 'S', 'ttyName': '?'}, '384': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '/usr/lib/systemd/systemd-udevd', 'state': 'Ss', 'ttyName': '?'}, '413': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '/usr/sbin/lvmetad -f', 'state': 'Ss', 'ttyName': '?'}, '497': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '[ena]', 'state': 'S<', 'ttyName': '?'}, '732': {'totalActiveTime': 67, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '/usr/lib/systemd/systemd-logind', 'state': 'Ss', 'ttyName': '?'}, '734': {'totalActiveTime': 45, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '/usr/bin/ProcMonitor', 'state': 'Ss', 'ttyName': '?'}, '742': {'totalActiveTime': 141, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '/usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation', 'state': 'Ss', 'ttyName': '?'}, '762': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '[kworker/1:1]', 'state': 'S', 'ttyName': '?'}, '777': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281469.0, 'cmd': '/usr/sbin/mcelog --ignorenodev --daemon --foreground', 'state': 'Ss', 'ttyName': '?'}, '797': {'totalActiveTime': 12, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281469.0, 'cmd': '/usr/sbin/crond -n', 'state': 'Ss', 'ttyName': '?'}, '812': {'totalActiveTime': 18, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281469.0, 'cmd': '/usr/bin/wdogdev -t 60', 'state': 'S<s', 'ttyName': '?'}, '823': {'totalActiveTime': 3, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281469.0, 'cmd': '/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid', 'state': 'Ss', 'ttyName': '?'}, '951': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local', 'state': 'S', 'ttyName': '?'}, '953': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/0'}, '979': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys', 'state': 'S', 'ttyName': '?'}, '981': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/1'}, '990': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure', 'state': 'S', 'ttyName': '?'}, '991': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/2'}, '1043': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281472.0, 'cmd': '/usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil', 'state': 'Ss', 'ttyName': '?'}, '1048': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281473.0, 'cmd': '/bin/bash /usr/sbin/core_annotate_util daemon', 'state': 'Ss', 'ttyName': '?'}, '1163': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': 'python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1164': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': '/usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1197': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': 'inotifywait -e modify /var/lib/rpm', 'state': 'S', 'ttyName': '?'}, '1238': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281483.0, 'cmd': 'netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1240': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281483.0, 'cmd': 'netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1254': {'totalActiveTime': 0, 'memPct': 0.9, 'cpuPct': 0.0, 'startTime': 1597281484.0, 'cmd': 'ProcMgr-master', 'state': 'S', 'ttyName': '?'}, '1462': {'totalActiveTime': 525, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281498.0, 'cmd': '/usr/bin/EosOomAdjust', 'state': 'S', 'ttyName': '?'}, '1470': {'totalActiveTime': 15, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281498.0, 'cmd': '[rbfd_vrf_cleanu]', 'state': 'S', 'ttyName': '?'}, '1485': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281498.0, 'cmd': '/usr/sbin/acpid', 'state': 'Ss', 'ttyName': '?'}, '1522': {'totalActiveTime': 124, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281498.0, 'cmd': '/usr/bin/SlabMonitor', 'state': 'S', 'ttyName': '?'}, '1523': {'totalActiveTime': 1767, 'memPct': 2.5, 'cpuPct': 0.0, 'startTime': 1597281498.0, 'cmd': 'Sysdb', 'state': 'S', 'ttyName': '?'}, '1565': {'totalActiveTime': 35, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281501.0, 'cmd': 'StageMgr', 'state': 'S', 'ttyName': '?'}, '1570': {'totalActiveTime': 86, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281501.0, 'cmd': 'Fru', 'state': 'S', 'ttyName': '?'}, '1571': {'totalActiveTime': 32, 'memPct': 1.8, 'cpuPct': 0.0, 'startTime': 1597281502.0, 'cmd': 'Launcher', 'state': 'S', 'ttyName': '?'}, '1694': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=Lldp --demuxerOpts=275501144304,275500693129,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp', 'state': 'S', 'ttyName': '?'}, '1695': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1696': {'totalActiveTime': 450, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'Lldp', 'state': 'S', 'ttyName': '?'}, '1699': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=McastCommon --demuxerOpts=275605242171,275551678101,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon', 'state': 'S', 'ttyName': '?'}, '1700': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': '[kworker/1:1H]', 'state': 'S<', 'ttyName': '?'}, '1702': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1704': {'totalActiveTime': 176, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'McastCommon', 'state': 'S', 'ttyName': '?'}, '1708': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=PortSec --demuxerOpts=275773786218,275650165758,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec', 'state': 'S', 'ttyName': '?'}, '1711': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1712': {'totalActiveTime': 106, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'PortSec', 'state': 'S', 'ttyName': '?'}, '1721': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netns --agenttitle=Bfd --demuxerOpts=279574021921,279385129478,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd', 'state': 'S', 'ttyName': '?'}, '1722': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1723': {'totalActiveTime': 210, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'Bfd', 'state': 'S', 'ttyName': '?'}, '1724': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'netns --agenttitle=Lag --demuxerOpts=280109105290,280107199461,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag', 'state': 'S', 'ttyName': '?'}, '1726': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1727': {'totalActiveTime': 830, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'Lag', 'state': 'S', 'ttyName': '?'}, '1729': {'totalActiveTime': 1685, 'memPct': 1.7, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'SuperServer', 'state': 'S', 'ttyName': '?'}, '1732': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'netns --agenttitle=Ira --demuxerOpts=283892362299,283880109624,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira', 'state': 'S', 'ttyName': '?'}, '1733': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1734': {'totalActiveTime': 181, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'Ira', 'state': 'S', 'ttyName': '?'}, '1736': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'netns --agenttitle=LedPolicy --demuxerOpts=288108381572,287775061276,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy', 'state': 'S', 'ttyName': '?'}, '1737': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1738': {'totalActiveTime': 142, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'LedPolicy', 'state': 'S', 'ttyName': '?'}, '1739': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'netns --agenttitle=EventMgr --demuxerOpts=288299247450,288179510165,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr', 'state': 'S', 'ttyName': '?'}, '1740': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1741': {'totalActiveTime': 367, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'EventMgr', 'state': 'S', 'ttyName': '?'}, '1743': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'netns --agenttitle=StpTxRx --demuxerOpts=288579662140,288395482866,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx', 'state': 'S', 'ttyName': '?'}, '1744': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1745': {'totalActiveTime': 1275, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'StpTxRx', 'state': 'S', 'ttyName': '?'}, '1746': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netns --agenttitle=StandbyCpld --demuxerOpts=292115254711,288676120489,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1747': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1749': {'totalActiveTime': 31, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1750': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netns --agenttitle=AgentMonitor --demuxerOpts=292267583010,292186647304,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1751': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1753': {'totalActiveTime': 1906, 'memPct': 1.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1754': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netns --agenttitle=Tunnel --demuxerOpts=292421762940,292330626218,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel', 'state': 'S', 'ttyName': '?'}, '1755': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1756': {'totalActiveTime': 71, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'Tunnel', 'state': 'S', 'ttyName': '?'}, '1757': {'totalActiveTime': 386, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'Aaa', 'state': 'Sl', 'ttyName': '?'}, '1759': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netns --agenttitle=StpTopology --demuxerOpts=292808046113,292716319651,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology', 'state': 'S', 'ttyName': '?'}, '1760': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1761': {'totalActiveTime': 168, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'StpTopology', 'state': 'S', 'ttyName': '?'}, '1762': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netns --agenttitle=Acl --demuxerOpts=296523011761,292995169616,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl', 'state': 'S', 'ttyName': '?'}, '1763': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1764': {'totalActiveTime': 947, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'Acl', 'state': 'S', 'ttyName': '?'}, '1771': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netns --agenttitle=Stp --demuxerOpts=297041265896,296648985313,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp', 'state': 'S', 'ttyName': '?'}, '1773': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1774': {'totalActiveTime': 237, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'Stp', 'state': 'S', 'ttyName': '?'}, '1778': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netns --agenttitle=KernelNetworkInfo --demuxerOpts=297164816515,297132428879,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1780': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1782': {'totalActiveTime': 107, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1786': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netns --agenttitle=McastCommon6 --demuxerOpts=300924273292,300805414611,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6', 'state': 'S', 'ttyName': '?'}, '1793': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1800': {'totalActiveTime': 153, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'McastCommon6', 'state': 'S', 'ttyName': '?'}, '1806': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netns --agenttitle=LacpTxAgent --demuxerOpts=301369414784,301079967103,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1810': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1813': {'totalActiveTime': 165, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1825': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netns --agenttitle=Arp --demuxerOpts=305150183208,301517231056,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp', 'state': 'S', 'ttyName': '?'}, '1827': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1830': {'totalActiveTime': 222, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'Arp', 'state': 'S', 'ttyName': '?'}, '1845': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netns --agenttitle=KernelFib --demuxerOpts=305766616581,305331306787,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib', 'state': 'S', 'ttyName': '?'}, '1849': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1850': {'totalActiveTime': 169, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'KernelFib', 'state': 'S', 'ttyName': '?'}, '1855': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netns --agenttitle=Qos --demuxerOpts=305914666962,305891078210,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos', 'state': 'S', 'ttyName': '?'}, '1861': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1863': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netns --agenttitle=Thermostat --demuxerOpts=310155317299,310146122555,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat', 'state': 'S', 'ttyName': '?'}, '1866': {'totalActiveTime': 130, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'Qos', 'state': 'S', 'ttyName': '?'}, '1869': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1872': {'totalActiveTime': 107, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'Thermostat', 'state': 'S', 'ttyName': '?'}, '1876': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netns --agenttitle=L2Rib --demuxerOpts=313651175211,310235138896,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib', 'state': 'S', 'ttyName': '?'}, '1880': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1883': {'totalActiveTime': 57, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'L2Rib', 'state': 'S', 'ttyName': '?'}, '1885': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netns --agenttitle=TopoAgent --demuxerOpts=313910588628,313716056362,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled', 'state': 'S', 'ttyName': '?'}, '1886': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1887': {'totalActiveTime': 84, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'TopoAgent', 'state': 'S', 'ttyName': '?'}, '1889': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netns --agenttitle=PowerFuse --demuxerOpts=314257465954,313997347978,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse', 'state': 'S', 'ttyName': '?'}, '1890': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1892': {'totalActiveTime': 30, 'memPct': 1.0, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'PowerFuse', 'state': 'S', 'ttyName': '?'}, '1893': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netns --agenttitle=PowerManager --demuxerOpts=314448379045,314392881768,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager', 'state': 'S', 'ttyName': '?'}, '1894': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1895': {'totalActiveTime': 31, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'PowerManager', 'state': 'S', 'ttyName': '?'}, '1896': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=Ebra --demuxerOpts=318077978536,317883825927,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra', 'state': 'S', 'ttyName': '?'}, '1900': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1905': {'totalActiveTime': 318, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'Ebra', 'state': 'S', 'ttyName': '?'}, '1913': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=ReloadCauseAgent --demuxerOpts=318598602805,318228924536,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1914': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1916': {'totalActiveTime': 30, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1918': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=SharedSecretProfile --demuxerOpts=318762514420,318696297345,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1920': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1922': {'totalActiveTime': 30, 'memPct': 1.0, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1923': {'totalActiveTime': 172, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'IgmpSnooping', 'state': 'S', 'ttyName': '?'}, '1933': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netns --agenttitle=StaticRoute --demuxerOpts=322651195162,322650789524,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled', 'state': 'S', 'ttyName': '?'}, '1934': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1935': {'totalActiveTime': 107, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'StaticRoute', 'state': 'S', 'ttyName': '?'}, '1937': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netns --agenttitle=IpRib --demuxerOpts=322914040580,322748011657,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled', 'state': 'S', 'ttyName': '?'}, '1938': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1940': {'totalActiveTime': 418, 'memPct': 1.6, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'IpRib', 'state': 'S', 'ttyName': '?'}, '1943': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netns --agenttitle=BgpCliHelper --demuxerOpts=326588334299,323000468604,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled', 'state': 'S', 'ttyName': '?'}, '1944': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1945': {'totalActiveTime': 111, 'memPct': 1.8, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'BgpCliHelper', 'state': 'S', 'ttyName': '?'}, '1949': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netns --agenttitle=ConnectedRoute --demuxerOpts=326677503453,326675454310,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '1953': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1957': {'totalActiveTime': 186, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '1964': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netns --agenttitle=RouteInput --demuxerOpts=327312488625,326986790248,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput', 'state': 'S', 'ttyName': '?'}, '1965': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1966': {'totalActiveTime': 109, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'RouteInput', 'state': 'S', 'ttyName': '?'}, '1974': {'totalActiveTime': 556, 'memPct': 2.2, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'Bgp', 'state': 'Sl', 'ttyName': '?'}, '2002': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=Sfe --demuxerOpts=331509489560,331172745644,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe', 'state': 'S', 'ttyName': '?'}, '2008': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2286': {'totalActiveTime': 23, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': '/usr/sbin/rsyslogd -n', 'state': 'Ssl', 'ttyName': '?'}, '2340': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': '/usr/sbin/dnsmasq', 'state': 'S', 'ttyName': '?'}, '2602': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281546.0, 'cmd': 'netns --agenttitle=LicenseManager --demuxerOpts=378753852405,378753400392,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager', 'state': 'S', 'ttyName': '?'}, '2603': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281546.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2605': {'totalActiveTime': 33, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281546.0, 'cmd': 'LicenseManager', 'state': 'S', 'ttyName': '?'}, '2656': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281548.0, 'cmd': '/usr/bin/conlogd', 'state': 'S', 'ttyName': '?'}, '2657': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281548.0, 'cmd': '/sbin/agetty --noclear tty1 linux', 'state': 'Ss+', 'ttyName': 'tty1'}, '2658': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281548.0, 'cmd': '/sbin/mingetty --noclear /dev/ttyS0', 'state': 'Ss+', 'ttyName': 'ttyS0'}, '2664': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281548.0, 'cmd': "sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2656 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'", 'state': 'S', 'ttyName': '?'}, '2667': {'totalActiveTime': 17, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281548.0, 'cmd': '/usr/bin/tail -n 0 --retry --follow=name --pid=2656 /var/log/eos-console', 'state': 'S', 'ttyName': '?'}, '2668': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281548.0, 'cmd': 'sed s/\\(.*\\)/\\1\\r/', 'state': 'S', 'ttyName': '?'}, '2707': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281550.0, 'cmd': '[SuperServer] <defunct>', 'state': 'Zs', 'ttyName': '?'}, '2734': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281551.0, 'cmd': 'netns --agenttitle=Ipsec --demuxerOpts=399762211162,399761786247,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec', 'state': 'S', 'ttyName': '?'}, '2735': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281551.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2736': {'totalActiveTime': 474, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281551.0, 'cmd': 'Ipsec', 'state': 'S', 'ttyName': '?'}, '2739': {'totalActiveTime': 1, 'memPct': 0.4, 'cpuPct': 0.0, 'startTime': 1597281551.0, 'cmd': 'dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1', 'state': 'Ss', 'ttyName': '?'}, '2766': {'totalActiveTime': 49, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': 'ntpd -u ntp:ntp -g -p /var/run/ntpd.pid', 'state': 'Ssl', 'ttyName': '?'}, '2770': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281556.0, 'cmd': 'fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc', 'state': 'Ss', 'ttyName': '?'}, '3341': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281703.0, 'cmd': '/usr/libexec/strongswan/starter --daemon charon', 'state': 'Ss', 'ttyName': '?'}, '3343': {'totalActiveTime': 79, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281703.0, 'cmd': '/usr/libexec/strongswan/charon --use-syslog', 'state': 'Ssl', 'ttyName': '?'}, '6525': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668820.0, 'cmd': '[kworker/0:0]', 'state': 'S', 'ttyName': '?'}, '8662': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599077705.0, 'cmd': '/bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh', 'state': 'S', 'ttyName': '?'}, '9270': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669170.0, 'cmd': 'ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww', 'state': 'Rs', 'ttyName': '?'}, '18367': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597436449.0, 'cmd': 'netns --agenttitle=CapiApp --demuxerOpts=665682214635995,665682214376331,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini', 'state': 'S', 'ttyName': '?'}, '18368': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597436449.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '18369': {'totalActiveTime': 99, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597436449.0, 'cmd': 'CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Sl', 'ttyName': '?'}, '18413': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597436450.0, 'cmd': 'nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;', 'state': 'Ss', 'ttyName': '?'}, '18415': {'totalActiveTime': 79, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597436450.0, 'cmd': 'nginx: worker process ', 'state': 'S', 'ttyName': '?'}, '30446': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599667080.0, 'cmd': '[kworker/0:4]', 'state': 'S', 'ttyName': '?'}, '31262': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599667800.0, 'cmd': '[kworker/0:2]', 'state': 'S', 'ttyName': '?'}}, 'timeInfo': {'upTime': 2387712.46, 'loadAvg': [1.48, 1.38, 1.3], 'users': 0, 'currentTime': 1599669171.432422}}, 'text': " 16:32:51 up 27 days, 15:15, 0 users, load average: 1.48, 1.38, 1.30\n PID %CPU %MEM TT STAT STARTED TIME CMD\n 2009 102 3.4 ? Sl Aug 13 28-06:54:07 Sfe\n 1714 0.4 1.9 ? Sl Aug 13 02:41:57 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.13.101 -taillogs -grpcaddr=0.0.0.0:6042\n 8684 0.2 0.7 ? SNl Sep 02 00:23:37 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config\n 1255 0.1 0.9 ? S Aug 13 01:16:00 ProcMgr-worker\n 1566 0.1 7.3 ? Sl Aug 13 01:13:26 ConfigAgent\n 1 0.0 0.0 ? Ss Aug 13 00:03:52 /sbin/init\n 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd]\n 3 0.0 0.0 ? S Aug 13 00:00:21 [ksoftirqd/0]\n 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H]\n 6 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:0]\n 7 0.0 0.0 ? S Aug 13 00:00:38 [rcu_preempt]\n 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched]\n 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh]\n 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0]\n 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain]\n 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0]\n 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0]\n 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1]\n 15 0.0 0.0 ? S Aug 13 00:00:02 [watchdog/1]\n 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1]\n 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1]\n 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0]\n 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H]\n 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2]\n 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2]\n 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2]\n 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2]\n 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0]\n 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H]\n 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3]\n 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3]\n 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3]\n 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3]\n 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0]\n 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H]\n 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs]\n 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns]\n 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd]\n 35 0.0 0.0 ? S Aug 13 00:01:05 [khungtaskd2]\n 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper]\n 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback]\n 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0]\n 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto]\n 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd]\n 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd]\n 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff]\n 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller]\n 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task]\n 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd]\n 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd]\n 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl]\n 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod]\n 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod]\n 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0]\n 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat]\n 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod]\n 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd]\n 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme]\n 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd]\n 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf]\n 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq]\n 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-]\n 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver]\n 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H]\n 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0]\n 346 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:2]\n 384 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd\n 413 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f\n 497 0.0 0.0 ? S< Aug 13 00:00:00 [ena]\n 732 0.0 0.0 ? Ss Aug 13 00:01:07 /usr/lib/systemd/systemd-logind\n 734 0.0 0.0 ? Ss Aug 13 00:00:45 /usr/bin/ProcMonitor\n 742 0.0 0.1 ? Ss Aug 13 00:02:21 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation\n 762 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1]\n 777 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground\n 797 0.0 0.0 ? Ss Aug 13 00:00:12 /usr/sbin/crond -n\n 812 0.0 0.0 ? S<s Aug 13 00:00:18 /usr/bin/wdogdev -t 60\n 823 0.0 0.0 ? Ss Aug 13 00:00:03 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid\n 951 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local\n 953 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 979 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys\n 981 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 990 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure\n 991 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1043 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil\n 1048 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon\n 1163 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1164 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1197 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm\n 1238 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1240 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1254 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master\n 1462 0.0 0.0 ? S Aug 13 00:08:45 /usr/bin/EosOomAdjust\n 1470 0.0 0.0 ? S Aug 13 00:00:15 [rbfd_vrf_cleanu]\n 1485 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid\n 1522 0.0 0.0 ? S Aug 13 00:02:04 /usr/bin/SlabMonitor\n 1523 0.0 2.5 ? S Aug 13 00:29:27 Sysdb\n 1565 0.0 1.2 ? S Aug 13 00:00:35 StageMgr\n 1570 0.0 1.4 ? S Aug 13 00:01:26 Fru\n 1571 0.0 1.8 ? S Aug 13 00:00:32 Launcher\n 1694 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=275501144304,275500693129,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp\n 1695 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1696 0.0 1.2 ? S Aug 13 00:07:30 Lldp\n 1699 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=275605242171,275551678101,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon\n 1700 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H]\n 1702 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1704 0.0 1.2 ? S Aug 13 00:02:56 McastCommon\n 1708 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=275773786218,275650165758,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec\n 1711 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1712 0.0 1.1 ? S Aug 13 00:01:46 PortSec\n 1721 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=279574021921,279385129478,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd\n 1722 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1723 0.0 1.4 ? S Aug 13 00:03:30 Bfd\n 1724 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=280109105290,280107199461,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag\n 1726 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1727 0.0 1.3 ? S Aug 13 00:13:50 Lag\n 1729 0.0 1.7 ? S Aug 13 00:28:05 SuperServer\n 1732 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=283892362299,283880109624,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira\n 1733 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1734 0.0 1.5 ? S Aug 13 00:03:01 Ira\n 1736 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=288108381572,287775061276,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy\n 1737 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1738 0.0 1.1 ? S Aug 13 00:02:22 LedPolicy\n 1739 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=288299247450,288179510165,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr\n 1740 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1741 0.0 1.3 ? S Aug 13 00:06:07 EventMgr\n 1743 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=288579662140,288395482866,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx\n 1744 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1745 0.0 1.2 ? S Aug 13 00:21:15 StpTxRx\n 1746 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=292115254711,288676120489,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld\n 1747 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1749 0.0 1.1 ? S Aug 13 00:00:31 StandbyCpld\n 1750 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=292267583010,292186647304,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor\n 1751 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1753 0.0 1.0 ? S Aug 13 00:31:46 AgentMonitor\n 1754 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=292421762940,292330626218,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel\n 1755 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1756 0.0 1.2 ? S Aug 13 00:01:11 Tunnel\n 1757 0.0 1.5 ? Sl Aug 13 00:06:26 Aaa\n 1759 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=292808046113,292716319651,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology\n 1760 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1761 0.0 1.2 ? S Aug 13 00:02:48 StpTopology\n 1762 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=296523011761,292995169616,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl\n 1763 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1764 0.0 1.4 ? S Aug 13 00:15:47 Acl\n 1771 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=297041265896,296648985313,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp\n 1773 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1774 0.0 1.1 ? S Aug 13 00:03:57 Stp\n 1778 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=297164816515,297132428879,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo\n 1780 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1782 0.0 1.1 ? S Aug 13 00:01:47 KernelNetworkInfo\n 1786 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=300924273292,300805414611,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6\n 1793 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1800 0.0 1.2 ? S Aug 13 00:02:33 McastCommon6\n 1806 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=301369414784,301079967103,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent\n 1810 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1813 0.0 1.2 ? S Aug 13 00:02:45 LacpTxAgent\n 1825 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=305150183208,301517231056,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp\n 1827 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1830 0.0 1.5 ? S Aug 13 00:03:42 Arp\n 1845 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=305766616581,305331306787,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib\n 1849 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1850 0.0 1.4 ? S Aug 13 00:02:49 KernelFib\n 1855 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=305914666962,305891078210,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos\n 1861 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1863 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=310155317299,310146122555,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat\n 1866 0.0 1.2 ? S Aug 13 00:02:10 Qos\n 1869 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1872 0.0 1.1 ? S Aug 13 00:01:47 Thermostat\n 1876 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=313651175211,310235138896,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib\n 1880 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1883 0.0 1.2 ? S Aug 13 00:00:57 L2Rib\n 1885 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=313910588628,313716056362,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled\n 1886 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1887 0.0 1.2 ? S Aug 13 00:01:24 TopoAgent\n 1889 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=314257465954,313997347978,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse\n 1890 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1892 0.0 1.0 ? S Aug 13 00:00:30 PowerFuse\n 1893 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=314448379045,314392881768,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager\n 1894 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1895 0.0 1.1 ? S Aug 13 00:00:31 PowerManager\n 1896 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=318077978536,317883825927,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra\n 1900 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1905 0.0 1.4 ? S Aug 13 00:05:18 Ebra\n 1913 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=318598602805,318228924536,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent\n 1914 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1916 0.0 1.1 ? S Aug 13 00:00:30 ReloadCauseAgent\n 1918 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=318762514420,318696297345,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile\n 1920 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1922 0.0 1.0 ? S Aug 13 00:00:30 SharedSecretProfile\n 1923 0.0 1.5 ? S Aug 13 00:02:52 IgmpSnooping\n 1933 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=322651195162,322650789524,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled\n 1934 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1935 0.0 1.3 ? S Aug 13 00:01:47 StaticRoute\n 1937 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=322914040580,322748011657,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled\n 1938 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1940 0.0 1.6 ? S Aug 13 00:06:58 IpRib\n 1943 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=326588334299,323000468604,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled\n 1944 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1945 0.0 1.8 ? S Aug 13 00:01:51 BgpCliHelper\n 1949 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=326677503453,326675454310,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute\n 1953 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1957 0.0 1.3 ? S Aug 13 00:03:06 ConnectedRoute\n 1964 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=327312488625,326986790248,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput\n 1965 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1966 0.0 1.3 ? S Aug 13 00:01:49 RouteInput\n 1974 0.0 2.2 ? Sl Aug 13 00:09:16 Bgp\n 2002 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=331509489560,331172745644,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe\n 2008 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2286 0.0 0.0 ? Ssl Aug 13 00:00:23 /usr/sbin/rsyslogd -n\n 2340 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq\n 2602 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=378753852405,378753400392,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager\n 2603 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2605 0.0 1.1 ? S Aug 13 00:00:33 LicenseManager\n 2656 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd\n 2657 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux\n 2658 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0\n 2664 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2656 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'\n 2667 0.0 0.0 ? S Aug 13 00:00:17 /usr/bin/tail -n 0 --retry --follow=name --pid=2656 /var/log/eos-console\n 2668 0.0 0.0 ? S Aug 13 00:00:00 sed s/\\(.*\\)/\\1\\r/\n 2707 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct>\n 2734 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=399762211162,399761786247,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec\n 2735 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2736 0.0 1.2 ? S Aug 13 00:07:54 Ipsec\n 2739 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1\n 2766 0.0 0.1 ? Ssl Aug 13 00:00:49 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid\n 2770 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc\n 3341 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon\n 3343 0.0 0.1 ? Ssl Aug 13 00:01:19 /usr/libexec/strongswan/charon --use-syslog\n 6525 0.0 0.0 ? S 16:27:00 00:00:00 [kworker/0:0]\n 8662 0.0 0.0 ? S Sep 02 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh\n 9288 0.0 0.0 ? Rs 16:32:50 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww\n18367 0.0 0.0 ? S Aug 14 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=665682214635995,665682214376331,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini\n18368 0.0 0.3 ? Ss Aug 14 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n18369 0.0 1.3 ? Sl Aug 14 00:01:39 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n18413 0.0 0.0 ? Ss Aug 14 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;\n18415 0.0 0.1 ? S Aug 14 00:01:19 nginx: worker process \n30446 0.0 0.0 ? S 15:58:00 00:00:00 [kworker/0:4]\n31262 0.0 0.0 ? S 16:10:00 00:00:00 [kworker/0:2]\n"}, 'show running-config section username': {'json': {'output': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'text': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'show aaa counters': {'json': {'authenticationSuccess': 82090, 'authorizationAllowed': 800, 'accountingSuccess': 0, 'pendingAccountingRequests': 0, 'authorizationDenied': 0, 'authenticationFail': 0, 'authenticationUnavailable': 102, 'accountingError': 0, 'authorizationUnavailable': 0}, 'text': 'Authentication\n Successful: 82093\n Failed: 0\n Service unavailable: 102\n\nAuthorization\n Allowed: 800\n Denied: 0\n Service unavailable: 0\n\nAccounting\n Successful: 0\n Error: 0\n Pending: 0\n\nLast time counters were cleared: never\n'}, 'show users detail': {'json': {'serials': {}, 'nonInteractives': {'82219': {'username': 'kgrozis', 'state': 'established', 'sessionStartTime': 1599669160, 'role': '', 'service': 'commandApi', 'authMethod': 'local'}}, 'vtys': {}}, 'text': 'Session Username Roles TTY State Duration Auth Remote Host \n-------- --------- ------- ------------- ------- ---------- ------- ----------- \n82219 kgrozis command-api E 0:00:13 local \n'}, 'show aaa methods all': {'json': {'authorization': {'commandsAuthzMethods': {'privilege0-15': {'methods': ['none']}}, 'execAuthzMethods': {'exec': {'methods': ['none']}}}, 'authentication': {'loginAuthenMethods': {'default': {'methods': ['local']}}, 'dot1xAuthenMethods': {'default': {'methods': []}}, 'enableAuthenMethods': {'default': {'methods': ['local']}}}, 'accounting': {'systemAcctMethods': {'system': {'defaultMethods': [], 'consoleMethods': []}}, 'execAcctMethods': {'exec': {'defaultMethods': [], 'consoleMethods': []}}, 'commandsAcctMethods': {'privilege0-15': {'defaultMethods': [], 'consoleMethods': []}}, 'dot1xAcctMethods': {'dot1x': {'defaultMethods': [], 'consoleMethods': []}}}}, 'text': 'Authentication method lists for LOGIN:\n name=default methods=local\nAuthentication method list for ENABLE:\n name=default methods=local\nAuthentication method list for DOT1X:\n name=default methods=\nAuthorization method lists for COMMANDS:\n name=privilege0-15 methods=none\nAuthorization method list for EXEC:\n name=exec methods=none\nAccounting method lists for COMMANDS:\n name=privilege0-15 default-action=none\nAccounting method list for EXEC:\n name=exec default-action=none\nAccounting method list for SYSTEM:\n name=system default-action=none\nAccounting method list for DOT1X:\n name=dot1x default-action=none\n'}, 'show ntp status': {'json': {'status': 'synchronised', 'pollingInterval': 1024, 'stratum': 4, 'maxEstimatedError': 26, 'server': '169.254.169.123'}, 'text': 'synchronised to NTP server (169.254.169.123) at stratum 4\n time correct to within 26 ms\n polling server every 1024 s\n\n'}, 'show ntp associations': {'json': {'peers': {'169.254.169.123': {'delay': 0.108, 'jitter': 0.503, 'lastReceived': 1599668510.0, 'peerType': 'local', 'reachabilityHistory': [True, True, True, True, True, True, True, True], 'condition': 'sys.peer', 'offset': 0.448, 'peerIpAddr': '169.254.169.123', 'pollInterval': 1024, 'refid': '169.254.169.122', 'stratumLevel': 3}}}, 'text': ' remote refid st t when poll reach delay offset jitter\n==============================================================================\n*169.254.169.123 169.254.169.12 3 l 666 1024 377 0.108 0.448 0.503\n'}, 'show daemon': {'json': {'daemons': {'TerminAttr': {'running': True, 'option': {}, 'starttime': 1597281524.1335511, 'pid': 1714, 'enabled': True, 'uptime': 2387652.8499999996, 'data': {}, 'isSdkAgent': False}}}, 'text': 'Process: TerminAttr (running with PID 1714)\nUptime: 27 days, 15:14:13 (Start time: Thu Aug 13 01:18:44 2020)\nNo configuration options stored.\n\nNo status data stored.\n\n'}, 'show zerotouch': {'json': {'mode': 'disabled', 'scriptTimeout': 900}, 'text': '\nZeroTouch Mode: Disabled\nScript Exec Timeout: 900\n'}, 'dir flash:zerotouch-config': {'json': {'messages': ['Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7293403136 bytes free)\n']}, 'text': 'Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7293403136 bytes free)\n'}, 'show system environment temperature': {'json': {'cardSlots': [], 'powerSupplySlots': [], 'shutdownOnOverheat': True, 'tempSensors': [], 'systemStatus': 'unknownTemperatureAlarmLevel'}, 'text': 'System temperature status is: Unknown\n'}, 'show system environment cooling': {'json': {'overrideFanSpeed': 0, 'coolingMode': 'automatic', 'powerSupplySlots': [], 'fanTraySlots': [], 'minFanSpeed': 0, 'shutdownOnInsufficientFans': True, 'systemStatus': 'unknownCoolingAlarmLevel', 'airflowDirection': 'unknownAirflowDirection'}, 'text': 'System cooling status is: Unknown\nAmbient temperature: Unknown\n Config Actual Speed Stable\nFan Status Speed Speed Uptime Stability Uptime\n--- ------ ------ ------ ------ --------- ------\n'}, 'show management api http-commands': {'json': {'httpServer': {'running': False, 'configured': False, 'port': 80}, 'users': {'kgrozis': {'requestCount': 75231, 'bytesOut': 194403167, 'lastHitTime': 1599669178.3961782, 'bytesIn': 12161050}}, 'bytesOut': 194403167, 'logLevel': 'none', 'dscpValue': 0, 'corsOrigins': [], 'hitCount': 80133, 'vrf': 'default', 'lastHitTime': 1599669178.396148, 'tlsProtocol': ['1.0', '1.1', '1.2'], 'localHttpServer': {'running': False, 'configured': False, 'port': 8080}, 'executionTime': 6393.847301007394, 'enabled': True, 'fipsEnabled': False, 'httpsServer': {'running': True, 'configured': True, 'port': 443}, 'requestCount': 75231, 'vrfs': ['default'], 'urls': ['Ethernet1 : https://11.201.13.101:443', 'Ethernet100 : https://11.201.8.1:443', 'Loopback0 : https://11.201.0.4:443', 'Loopback10 : https://198.18.0.38:443'], 'unixSocketServer': {'running': False, 'configured': False}, 'bytesIn': 12161050, 'commandCount': 150462, 'iframeAncestors': []}, 'text': 'Enabled: Yes\nHTTPS server: running, set to use port 443\nHTTP server: shutdown, set to use port 80\nLocal HTTP server: shutdown, no authentication, set to use port 8080\nUnix Socket server: shutdown, no authentication\nVRFs: default\nHits: 80137\nLast hit: 0 seconds ago\nBytes in: 12161686\nBytes out: 194405820\nRequests: 75235\nCommands: 150470\nDuration: 6393.882 seconds\nSSL Profile: none\nFIPS Mode: No\nQoS DSCP: 0\nLog Level: none\nCSP Frame Ancestor: None\nTLS Protocols: 1.0 1.1 1.2\n User Requests Bytes in Bytes out Last hit \n------------- -------------- -------------- --------------- ------------- \n kgrozis 75235 12161686 194405820 0 seconds ago \n\nURLs \n--------------------------------------- \nEthernet1 : https://11.201.13.101:443 \nEthernet100 : https://11.201.8.1:443 \nLoopback0 : https://11.201.0.4:443 \nLoopback10 : https://198.18.0.38:443 \n\n'}, 'show tacacs': {'json': {'tacacsServers': [], 'groups': {}, 'srcIntf': {}, 'lastCounterClearTime': 0.0}, 'text': '\nLast time counters were cleared: never\n'}, 'show logging': {'json': {'output': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:19 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:23 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:31 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:27 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:32 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:10 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:18 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:27 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:42 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:48 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:56 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:36 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:41 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:49 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:46 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:55 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:07 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:12 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:21 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:08 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:12 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:20 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}, 'text': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:19 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:23 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:31 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:27 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:32 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:10 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:18 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:27 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:42 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:48 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:56 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:36 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:41 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:49 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:46 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:55 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:07 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:12 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:21 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:08 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:12 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:20 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}}} test_name: test_if_files_on_ test_parameters: {'parameters': {'show_log': 'show_output.log'}} INFO root:tests_tools.py:250 Return model data and text output from show commands and log text output for show file information flash:startup-config with connnection Node(connection=EapiConnection(transport=https://3.131.6.163:443//command-api)) INFO root:tests_tools.py:254 Raw json output of show file information flash:startup-config on dut kg-topology-CloudEosRR2: [{'command': 'show file information flash:startup-config', 'result': {'isDir': False, 'path': 'flash:/startup-config', 'fileName': '/mnt/flash/startup-config'}, 'encoding': 'json'}] INFO root:tests_tools.py:257 Raw text output of show file information flash:startup-config on dut kg-topology-CloudEosRR2: [{'output': 'flash:/startup-config:\n type is file\n'}] INFO root:tests_tools.py:311 Open log file for logging test show commands INFO root:tests_tools.py:315 Opening file show_output.log and append show output: flash:/startup-config: type is file INFO root:test_filesystem.py:80 WHEN flash:startup-config file isDir state is |False| INFO root:test_filesystem.py:84 THEN test case result is |True| INFO root:test_filesystem.py:85 OUTPUT of |show file information flash:startup-config| is : [{'output': 'flash:/startup-config:\n type is file\n'}] INFO root:test_filesystem.py:70 TEST is flash:veos-config file present on |kg-topology-CloudEosRR2| INFO root:test_filesystem.py:71 GIVEN expected flash:veos-config isDir state: |False| INFO root:tests_tools.py:245 Raw Input for return_show_cmd show_cmd: show file information flash:veos-config dut: {'connection': Node(connection=EapiConnection(transport=https://3.131.6.163:443//command-api)), 'name': 'kg-topology-CloudEosRR2', 'output': {'interface_list': [{'hostname': 'kg-topology-CloudEosRR2', 'interface_name': 'Ethernet1', 'z_hostname': 'spine01', 'z_interface_name': 'Ethernet2', 'media_type': ''}], 'show interfaces status': {'json': {'interfaceStatuses': {'Ethernet100': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 10000000000, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet1': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}}}, 'text': 'Port Name Status Vlan Duplex Speed Type Flags Encapsulation\nEt1 connected routed full unconf 10/100/1000 \nEt100 connected routed full 10G 10/100/1000 \n\n'}, 'show interfaces phy detail': {'json': {'interfacePhyStatuses': {}}, 'text': ''}, 'show hostname': {'json': {'fqdn': 'kg-topology-CloudEosRR2', 'hostname': 'kg-topology-CloudEosRR2'}, 'text': 'Hostname: kg-topology-CloudEosRR2\nFQDN: kg-topology-CloudEosRR2\n'}, 'show extensions': {'json': {'extensions': {'awslogs.swix': {'status': 'installed', 'vendor': 'Amazon <UNKNOWN>', 'description': ' awsclicwlogs This awscli plugin provides the pull, push and filter commands to\naccess AWS CloudWatch Logs service. The awsclicwlogs package works on Python\nversions:* 2.6.5 and greater * 2.7.x and greater * 3.3.x and greater\nInstallation The easiest way to install awsclicwlogs is to use pip_:: $ pip\ninstall awsclicwlogsor, if you are not installing in a virtualenv:: $ sudo pip\ninstall ...', 'presence': 'present', 'rpms': {'awslogs.noarch.rpm': {'release': '1.el7', 'version': '1.4.0'}}, 'summary': 'AWSCLI CloudWatch Logs plugin', 'version': '1.4.0', 'numRpms': 1, 'error': False, 'release': '1.el7', 'installedSize': 23414055}, 'awsha.rpm': {'status': 'installed', 'vendor': '', 'description': 'Aws HA', 'presence': 'present', 'rpms': {'awsha.rpm': {'release': '1', 'version': '0.1.1'}}, 'summary': 'Aws HA', 'version': '0.1.1', 'numRpms': 1, 'error': False, 'release': '1', 'installedSize': 10073042}}}, 'text': 'Name Version/Release Status Extension\n----------------- -------------------- ----------- ---------\nawsha.rpm 0.1.1/1 A, I 1 \nawslogs.swix 1.4.0/1.el7 A, I 1 \n\n\nA: available | NA: not available | I: installed | NI: not installed | F: forced\nS: valid signature | NS: invalid signature\n'}, 'show version': {'json': {'memTotal': 7818736, 'uptime': 2387712.0, 'modelName': 'vEOS', 'internalVersion': '4.23.1F-cloud-16179785.jakartarel', 'mfgName': 'Arista', 'serialNumber': '93F97AD3A1044C742872BA1CFA684D63', 'systemMacAddress': '06:54:9b:7c:b0:0f', 'bootupTimestamp': 1597281459.0, 'memFree': 3016648, 'version': '4.23.1F-cloud-16179785.jakartarel (engineering build)', 'configMacAddress': '00:00:00:00:00:00', 'isIntlVersion': False, 'internalBuildId': '6bc96200-86c1-4e86-bed7-8280a6802809', 'hardwareRevision': '', 'hwMacAddress': '00:00:00:00:00:00', 'architecture': 'x86_64'}, 'text': 'Arista vEOS\nHardware version: \nSerial number: 93F97AD3A1044C742872BA1CFA684D63\nSystem MAC address: 0654.9b7c.b00f\n\nSoftware image version: 4.23.1F-cloud-16179785.jakartarel (engineering build)\nArchitecture: x86_64\nInternal build version: 4.23.1F-cloud-16179785.jakartarel\nInternal build ID: 6bc96200-86c1-4e86-bed7-8280a6802809\n\nUptime: 3 weeks, 6 days, 15 hours and 15 minutes\nTotal memory: 7818736 kB\nFree memory: 3016640 kB\n\n'}, 'show processes': {'json': {'processes': {'2009': {'totalActiveTime': 2444047, 'memPct': 3.4, 'cpuPct': 102.0, 'startTime': 1597281536.0, 'cmd': 'Sfe', 'state': 'Sl', 'ttyName': '?'}, '1714': {'totalActiveTime': 9717, 'memPct': 1.9, 'cpuPct': 0.4, 'startTime': 1597281523.0, 'cmd': '/usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.13.101 -taillogs -grpcaddr=0.0.0.0:6042', 'state': 'Sl', 'ttyName': '?'}, '8684': {'totalActiveTime': 1417, 'memPct': 0.7, 'cpuPct': 0.2, 'startTime': 1599077706.0, 'cmd': 'python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config', 'state': 'SNl', 'ttyName': '?'}, '1255': {'totalActiveTime': 4560, 'memPct': 0.9, 'cpuPct': 0.1, 'startTime': 1597281484.0, 'cmd': 'ProcMgr-worker', 'state': 'S', 'ttyName': '?'}, '1566': {'totalActiveTime': 4405, 'memPct': 7.2, 'cpuPct': 0.1, 'startTime': 1597281501.0, 'cmd': 'ConfigAgent', 'state': 'Sl', 'ttyName': '?'}, '1': {'totalActiveTime': 232, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '/sbin/init', 'state': 'Ss', 'ttyName': '?'}, '2': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kthreadd]', 'state': 'S', 'ttyName': '?'}, '3': {'totalActiveTime': 21, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ksoftirqd/0]', 'state': 'S', 'ttyName': '?'}, '5': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/0:0H]', 'state': 'S<', 'ttyName': '?'}, '6': {'totalActiveTime': 1, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/u8:0]', 'state': 'S', 'ttyName': '?'}, '7': {'totalActiveTime': 38, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[rcu_preempt]', 'state': 'S', 'ttyName': '?'}, '8': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[rcu_sched]', 'state': 'S', 'ttyName': '?'}, '9': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[rcu_bh]', 'state': 'S', 'ttyName': '?'}, '10': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[migration/0]', 'state': 'S', 'ttyName': '?'}, '11': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[lru-add-drain]', 'state': 'S<', 'ttyName': '?'}, '12': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[watchdog/0]', 'state': 'S', 'ttyName': '?'}, '13': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[cpuhp/0]', 'state': 'S', 'ttyName': '?'}, '14': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[cpuhp/1]', 'state': 'S', 'ttyName': '?'}, '15': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[watchdog/1]', 'state': 'S', 'ttyName': '?'}, '16': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[migration/1]', 'state': 'S', 'ttyName': '?'}, '17': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ksoftirqd/1]', 'state': 'S', 'ttyName': '?'}, '18': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/1:0]', 'state': 'S', 'ttyName': '?'}, '19': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/1:0H]', 'state': 'S<', 'ttyName': '?'}, '20': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[cpuhp/2]', 'state': 'S', 'ttyName': '?'}, '21': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[watchdog/2]', 'state': 'S', 'ttyName': '?'}, '22': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[migration/2]', 'state': 'S', 'ttyName': '?'}, '23': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ksoftirqd/2]', 'state': 'S', 'ttyName': '?'}, '24': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/2:0]', 'state': 'S', 'ttyName': '?'}, '25': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/2:0H]', 'state': 'S<', 'ttyName': '?'}, '26': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[cpuhp/3]', 'state': 'S', 'ttyName': '?'}, '27': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[watchdog/3]', 'state': 'S', 'ttyName': '?'}, '28': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[migration/3]', 'state': 'S', 'ttyName': '?'}, '29': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ksoftirqd/3]', 'state': 'S', 'ttyName': '?'}, '30': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/3:0]', 'state': 'S', 'ttyName': '?'}, '31': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/3:0H]', 'state': 'S<', 'ttyName': '?'}, '32': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kdevtmpfs]', 'state': 'S', 'ttyName': '?'}, '33': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[netns]', 'state': 'S<', 'ttyName': '?'}, '34': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[khungtaskd]', 'state': 'S', 'ttyName': '?'}, '35': {'totalActiveTime': 65, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[khungtaskd2]', 'state': 'S', 'ttyName': '?'}, '36': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[oom_reaper]', 'state': 'S', 'ttyName': '?'}, '37': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[writeback]', 'state': 'S<', 'ttyName': '?'}, '38': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kcompactd0]', 'state': 'S', 'ttyName': '?'}, '39': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[crypto]', 'state': 'S<', 'ttyName': '?'}, '40': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kintegrityd]', 'state': 'S<', 'ttyName': '?'}, '41': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '42': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kblockd]', 'state': 'S<', 'ttyName': '?'}, '43': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ata_sff]', 'state': 'S<', 'ttyName': '?'}, '44': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[edac-poller]', 'state': 'S<', 'ttyName': '?'}, '45': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[dst_gc_task]', 'state': 'S', 'ttyName': '?'}, '46': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[watchdogd]', 'state': 'S<', 'ttyName': '?'}, '47': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[arp_cache-prd]', 'state': 'S', 'ttyName': '?'}, '49': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[icmp_unreachabl]', 'state': 'S', 'ttyName': '?'}, '50': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[rpciod]', 'state': 'S<', 'ttyName': '?'}, '51': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[xprtiod]', 'state': 'S<', 'ttyName': '?'}, '52': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kswapd0]', 'state': 'S', 'ttyName': '?'}, '53': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[vmstat]', 'state': 'S<', 'ttyName': '?'}, '54': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[nfsiod]', 'state': 'S<', 'ttyName': '?'}, '63': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[pcielwd]', 'state': 'S<', 'ttyName': '?'}, '64': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '65': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '66': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '67': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '68': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '69': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '70': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '71': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '72': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[nvme]', 'state': 'S<', 'ttyName': '?'}, '74': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ndisc_cache-prd]', 'state': 'S', 'ttyName': '?'}, '75': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ipv6_addrconf]', 'state': 'S<', 'ttyName': '?'}, '76': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ecc_log_wq]', 'state': 'S<', 'ttyName': '?'}, '124': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '125': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '171': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[jbd2/nvme0n1p1-]', 'state': 'S', 'ttyName': '?'}, '172': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ext4-rsv-conver]', 'state': 'S<', 'ttyName': '?'}, '194': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281459.0, 'cmd': '[kworker/0:1H]', 'state': 'S<', 'ttyName': '?'}, '272': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '[loop0]', 'state': 'S<', 'ttyName': '?'}, '346': {'totalActiveTime': 1, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/u8:2]', 'state': 'S', 'ttyName': '?'}, '384': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '/usr/lib/systemd/systemd-udevd', 'state': 'Ss', 'ttyName': '?'}, '413': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '/usr/sbin/lvmetad -f', 'state': 'Ss', 'ttyName': '?'}, '497': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '[ena]', 'state': 'S<', 'ttyName': '?'}, '732': {'totalActiveTime': 67, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '/usr/lib/systemd/systemd-logind', 'state': 'Ss', 'ttyName': '?'}, '734': {'totalActiveTime': 45, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '/usr/bin/ProcMonitor', 'state': 'Ss', 'ttyName': '?'}, '742': {'totalActiveTime': 141, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '/usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation', 'state': 'Ss', 'ttyName': '?'}, '762': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '[kworker/1:1]', 'state': 'S', 'ttyName': '?'}, '777': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281469.0, 'cmd': '/usr/sbin/mcelog --ignorenodev --daemon --foreground', 'state': 'Ss', 'ttyName': '?'}, '797': {'totalActiveTime': 12, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281469.0, 'cmd': '/usr/sbin/crond -n', 'state': 'Ss', 'ttyName': '?'}, '812': {'totalActiveTime': 18, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281469.0, 'cmd': '/usr/bin/wdogdev -t 60', 'state': 'S<s', 'ttyName': '?'}, '823': {'totalActiveTime': 3, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281469.0, 'cmd': '/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid', 'state': 'Ss', 'ttyName': '?'}, '951': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local', 'state': 'S', 'ttyName': '?'}, '953': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/0'}, '979': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys', 'state': 'S', 'ttyName': '?'}, '981': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/1'}, '990': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure', 'state': 'S', 'ttyName': '?'}, '991': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/2'}, '1043': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281472.0, 'cmd': '/usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil', 'state': 'Ss', 'ttyName': '?'}, '1048': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281473.0, 'cmd': '/bin/bash /usr/sbin/core_annotate_util daemon', 'state': 'Ss', 'ttyName': '?'}, '1163': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': 'python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1164': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': '/usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1197': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': 'inotifywait -e modify /var/lib/rpm', 'state': 'S', 'ttyName': '?'}, '1238': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281483.0, 'cmd': 'netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1240': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281483.0, 'cmd': 'netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1254': {'totalActiveTime': 0, 'memPct': 0.9, 'cpuPct': 0.0, 'startTime': 1597281484.0, 'cmd': 'ProcMgr-master', 'state': 'S', 'ttyName': '?'}, '1462': {'totalActiveTime': 525, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281498.0, 'cmd': '/usr/bin/EosOomAdjust', 'state': 'S', 'ttyName': '?'}, '1470': {'totalActiveTime': 15, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281498.0, 'cmd': '[rbfd_vrf_cleanu]', 'state': 'S', 'ttyName': '?'}, '1485': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281498.0, 'cmd': '/usr/sbin/acpid', 'state': 'Ss', 'ttyName': '?'}, '1522': {'totalActiveTime': 124, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281498.0, 'cmd': '/usr/bin/SlabMonitor', 'state': 'S', 'ttyName': '?'}, '1523': {'totalActiveTime': 1767, 'memPct': 2.5, 'cpuPct': 0.0, 'startTime': 1597281498.0, 'cmd': 'Sysdb', 'state': 'S', 'ttyName': '?'}, '1565': {'totalActiveTime': 35, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281501.0, 'cmd': 'StageMgr', 'state': 'S', 'ttyName': '?'}, '1570': {'totalActiveTime': 86, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281501.0, 'cmd': 'Fru', 'state': 'S', 'ttyName': '?'}, '1571': {'totalActiveTime': 32, 'memPct': 1.8, 'cpuPct': 0.0, 'startTime': 1597281502.0, 'cmd': 'Launcher', 'state': 'S', 'ttyName': '?'}, '1694': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=Lldp --demuxerOpts=275501144304,275500693129,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp', 'state': 'S', 'ttyName': '?'}, '1695': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1696': {'totalActiveTime': 450, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'Lldp', 'state': 'S', 'ttyName': '?'}, '1699': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=McastCommon --demuxerOpts=275605242171,275551678101,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon', 'state': 'S', 'ttyName': '?'}, '1700': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': '[kworker/1:1H]', 'state': 'S<', 'ttyName': '?'}, '1702': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1704': {'totalActiveTime': 176, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'McastCommon', 'state': 'S', 'ttyName': '?'}, '1708': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=PortSec --demuxerOpts=275773786218,275650165758,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec', 'state': 'S', 'ttyName': '?'}, '1711': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1712': {'totalActiveTime': 106, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'PortSec', 'state': 'S', 'ttyName': '?'}, '1721': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netns --agenttitle=Bfd --demuxerOpts=279574021921,279385129478,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd', 'state': 'S', 'ttyName': '?'}, '1722': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1723': {'totalActiveTime': 210, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'Bfd', 'state': 'S', 'ttyName': '?'}, '1724': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'netns --agenttitle=Lag --demuxerOpts=280109105290,280107199461,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag', 'state': 'S', 'ttyName': '?'}, '1726': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1727': {'totalActiveTime': 830, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'Lag', 'state': 'S', 'ttyName': '?'}, '1729': {'totalActiveTime': 1685, 'memPct': 1.7, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'SuperServer', 'state': 'S', 'ttyName': '?'}, '1732': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'netns --agenttitle=Ira --demuxerOpts=283892362299,283880109624,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira', 'state': 'S', 'ttyName': '?'}, '1733': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1734': {'totalActiveTime': 181, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'Ira', 'state': 'S', 'ttyName': '?'}, '1736': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'netns --agenttitle=LedPolicy --demuxerOpts=288108381572,287775061276,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy', 'state': 'S', 'ttyName': '?'}, '1737': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1738': {'totalActiveTime': 142, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'LedPolicy', 'state': 'S', 'ttyName': '?'}, '1739': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'netns --agenttitle=EventMgr --demuxerOpts=288299247450,288179510165,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr', 'state': 'S', 'ttyName': '?'}, '1740': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1741': {'totalActiveTime': 367, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'EventMgr', 'state': 'S', 'ttyName': '?'}, '1743': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'netns --agenttitle=StpTxRx --demuxerOpts=288579662140,288395482866,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx', 'state': 'S', 'ttyName': '?'}, '1744': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1745': {'totalActiveTime': 1275, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'StpTxRx', 'state': 'S', 'ttyName': '?'}, '1746': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netns --agenttitle=StandbyCpld --demuxerOpts=292115254711,288676120489,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1747': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1749': {'totalActiveTime': 31, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1750': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netns --agenttitle=AgentMonitor --demuxerOpts=292267583010,292186647304,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1751': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1753': {'totalActiveTime': 1906, 'memPct': 1.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1754': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netns --agenttitle=Tunnel --demuxerOpts=292421762940,292330626218,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel', 'state': 'S', 'ttyName': '?'}, '1755': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1756': {'totalActiveTime': 71, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'Tunnel', 'state': 'S', 'ttyName': '?'}, '1757': {'totalActiveTime': 386, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'Aaa', 'state': 'Sl', 'ttyName': '?'}, '1759': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netns --agenttitle=StpTopology --demuxerOpts=292808046113,292716319651,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology', 'state': 'S', 'ttyName': '?'}, '1760': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1761': {'totalActiveTime': 168, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'StpTopology', 'state': 'S', 'ttyName': '?'}, '1762': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netns --agenttitle=Acl --demuxerOpts=296523011761,292995169616,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl', 'state': 'S', 'ttyName': '?'}, '1763': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1764': {'totalActiveTime': 947, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'Acl', 'state': 'S', 'ttyName': '?'}, '1771': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netns --agenttitle=Stp --demuxerOpts=297041265896,296648985313,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp', 'state': 'S', 'ttyName': '?'}, '1773': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1774': {'totalActiveTime': 237, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'Stp', 'state': 'S', 'ttyName': '?'}, '1778': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netns --agenttitle=KernelNetworkInfo --demuxerOpts=297164816515,297132428879,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1780': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1782': {'totalActiveTime': 107, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1786': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netns --agenttitle=McastCommon6 --demuxerOpts=300924273292,300805414611,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6', 'state': 'S', 'ttyName': '?'}, '1793': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1800': {'totalActiveTime': 153, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'McastCommon6', 'state': 'S', 'ttyName': '?'}, '1806': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netns --agenttitle=LacpTxAgent --demuxerOpts=301369414784,301079967103,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1810': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1813': {'totalActiveTime': 165, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1825': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netns --agenttitle=Arp --demuxerOpts=305150183208,301517231056,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp', 'state': 'S', 'ttyName': '?'}, '1827': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1830': {'totalActiveTime': 222, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'Arp', 'state': 'S', 'ttyName': '?'}, '1845': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netns --agenttitle=KernelFib --demuxerOpts=305766616581,305331306787,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib', 'state': 'S', 'ttyName': '?'}, '1849': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1850': {'totalActiveTime': 169, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'KernelFib', 'state': 'S', 'ttyName': '?'}, '1855': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netns --agenttitle=Qos --demuxerOpts=305914666962,305891078210,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos', 'state': 'S', 'ttyName': '?'}, '1861': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1863': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netns --agenttitle=Thermostat --demuxerOpts=310155317299,310146122555,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat', 'state': 'S', 'ttyName': '?'}, '1866': {'totalActiveTime': 130, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'Qos', 'state': 'S', 'ttyName': '?'}, '1869': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1872': {'totalActiveTime': 107, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'Thermostat', 'state': 'S', 'ttyName': '?'}, '1876': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netns --agenttitle=L2Rib --demuxerOpts=313651175211,310235138896,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib', 'state': 'S', 'ttyName': '?'}, '1880': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1883': {'totalActiveTime': 57, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'L2Rib', 'state': 'S', 'ttyName': '?'}, '1885': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netns --agenttitle=TopoAgent --demuxerOpts=313910588628,313716056362,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled', 'state': 'S', 'ttyName': '?'}, '1886': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1887': {'totalActiveTime': 84, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'TopoAgent', 'state': 'S', 'ttyName': '?'}, '1889': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netns --agenttitle=PowerFuse --demuxerOpts=314257465954,313997347978,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse', 'state': 'S', 'ttyName': '?'}, '1890': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1892': {'totalActiveTime': 30, 'memPct': 1.0, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'PowerFuse', 'state': 'S', 'ttyName': '?'}, '1893': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netns --agenttitle=PowerManager --demuxerOpts=314448379045,314392881768,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager', 'state': 'S', 'ttyName': '?'}, '1894': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1895': {'totalActiveTime': 31, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'PowerManager', 'state': 'S', 'ttyName': '?'}, '1896': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=Ebra --demuxerOpts=318077978536,317883825927,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra', 'state': 'S', 'ttyName': '?'}, '1900': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1905': {'totalActiveTime': 318, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'Ebra', 'state': 'S', 'ttyName': '?'}, '1913': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=ReloadCauseAgent --demuxerOpts=318598602805,318228924536,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1914': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1916': {'totalActiveTime': 30, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1918': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=SharedSecretProfile --demuxerOpts=318762514420,318696297345,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1920': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1922': {'totalActiveTime': 30, 'memPct': 1.0, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1923': {'totalActiveTime': 172, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'IgmpSnooping', 'state': 'S', 'ttyName': '?'}, '1933': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netns --agenttitle=StaticRoute --demuxerOpts=322651195162,322650789524,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled', 'state': 'S', 'ttyName': '?'}, '1934': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1935': {'totalActiveTime': 107, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'StaticRoute', 'state': 'S', 'ttyName': '?'}, '1937': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netns --agenttitle=IpRib --demuxerOpts=322914040580,322748011657,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled', 'state': 'S', 'ttyName': '?'}, '1938': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1940': {'totalActiveTime': 418, 'memPct': 1.6, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'IpRib', 'state': 'S', 'ttyName': '?'}, '1943': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netns --agenttitle=BgpCliHelper --demuxerOpts=326588334299,323000468604,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled', 'state': 'S', 'ttyName': '?'}, '1944': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1945': {'totalActiveTime': 111, 'memPct': 1.8, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'BgpCliHelper', 'state': 'S', 'ttyName': '?'}, '1949': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netns --agenttitle=ConnectedRoute --demuxerOpts=326677503453,326675454310,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '1953': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1957': {'totalActiveTime': 186, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '1964': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netns --agenttitle=RouteInput --demuxerOpts=327312488625,326986790248,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput', 'state': 'S', 'ttyName': '?'}, '1965': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1966': {'totalActiveTime': 109, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'RouteInput', 'state': 'S', 'ttyName': '?'}, '1974': {'totalActiveTime': 556, 'memPct': 2.2, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'Bgp', 'state': 'Sl', 'ttyName': '?'}, '2002': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=Sfe --demuxerOpts=331509489560,331172745644,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe', 'state': 'S', 'ttyName': '?'}, '2008': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2286': {'totalActiveTime': 23, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': '/usr/sbin/rsyslogd -n', 'state': 'Ssl', 'ttyName': '?'}, '2340': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': '/usr/sbin/dnsmasq', 'state': 'S', 'ttyName': '?'}, '2602': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281546.0, 'cmd': 'netns --agenttitle=LicenseManager --demuxerOpts=378753852405,378753400392,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager', 'state': 'S', 'ttyName': '?'}, '2603': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281546.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2605': {'totalActiveTime': 33, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281546.0, 'cmd': 'LicenseManager', 'state': 'S', 'ttyName': '?'}, '2656': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281548.0, 'cmd': '/usr/bin/conlogd', 'state': 'S', 'ttyName': '?'}, '2657': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281548.0, 'cmd': '/sbin/agetty --noclear tty1 linux', 'state': 'Ss+', 'ttyName': 'tty1'}, '2658': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281548.0, 'cmd': '/sbin/mingetty --noclear /dev/ttyS0', 'state': 'Ss+', 'ttyName': 'ttyS0'}, '2664': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281548.0, 'cmd': "sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2656 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'", 'state': 'S', 'ttyName': '?'}, '2667': {'totalActiveTime': 17, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281548.0, 'cmd': '/usr/bin/tail -n 0 --retry --follow=name --pid=2656 /var/log/eos-console', 'state': 'S', 'ttyName': '?'}, '2668': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281548.0, 'cmd': 'sed s/\\(.*\\)/\\1\\r/', 'state': 'S', 'ttyName': '?'}, '2707': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281550.0, 'cmd': '[SuperServer] <defunct>', 'state': 'Zs', 'ttyName': '?'}, '2734': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281551.0, 'cmd': 'netns --agenttitle=Ipsec --demuxerOpts=399762211162,399761786247,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec', 'state': 'S', 'ttyName': '?'}, '2735': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281551.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2736': {'totalActiveTime': 474, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281551.0, 'cmd': 'Ipsec', 'state': 'S', 'ttyName': '?'}, '2739': {'totalActiveTime': 1, 'memPct': 0.4, 'cpuPct': 0.0, 'startTime': 1597281551.0, 'cmd': 'dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1', 'state': 'Ss', 'ttyName': '?'}, '2766': {'totalActiveTime': 49, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': 'ntpd -u ntp:ntp -g -p /var/run/ntpd.pid', 'state': 'Ssl', 'ttyName': '?'}, '2770': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281556.0, 'cmd': 'fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc', 'state': 'Ss', 'ttyName': '?'}, '3341': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281703.0, 'cmd': '/usr/libexec/strongswan/starter --daemon charon', 'state': 'Ss', 'ttyName': '?'}, '3343': {'totalActiveTime': 79, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281703.0, 'cmd': '/usr/libexec/strongswan/charon --use-syslog', 'state': 'Ssl', 'ttyName': '?'}, '6525': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668820.0, 'cmd': '[kworker/0:0]', 'state': 'S', 'ttyName': '?'}, '8662': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599077705.0, 'cmd': '/bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh', 'state': 'S', 'ttyName': '?'}, '9270': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669170.0, 'cmd': 'ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww', 'state': 'Rs', 'ttyName': '?'}, '18367': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597436449.0, 'cmd': 'netns --agenttitle=CapiApp --demuxerOpts=665682214635995,665682214376331,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini', 'state': 'S', 'ttyName': '?'}, '18368': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597436449.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '18369': {'totalActiveTime': 99, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597436449.0, 'cmd': 'CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Sl', 'ttyName': '?'}, '18413': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597436450.0, 'cmd': 'nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;', 'state': 'Ss', 'ttyName': '?'}, '18415': {'totalActiveTime': 79, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597436450.0, 'cmd': 'nginx: worker process ', 'state': 'S', 'ttyName': '?'}, '30446': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599667080.0, 'cmd': '[kworker/0:4]', 'state': 'S', 'ttyName': '?'}, '31262': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599667800.0, 'cmd': '[kworker/0:2]', 'state': 'S', 'ttyName': '?'}}, 'timeInfo': {'upTime': 2387712.46, 'loadAvg': [1.48, 1.38, 1.3], 'users': 0, 'currentTime': 1599669171.432422}}, 'text': " 16:32:51 up 27 days, 15:15, 0 users, load average: 1.48, 1.38, 1.30\n PID %CPU %MEM TT STAT STARTED TIME CMD\n 2009 102 3.4 ? Sl Aug 13 28-06:54:07 Sfe\n 1714 0.4 1.9 ? Sl Aug 13 02:41:57 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.13.101 -taillogs -grpcaddr=0.0.0.0:6042\n 8684 0.2 0.7 ? SNl Sep 02 00:23:37 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config\n 1255 0.1 0.9 ? S Aug 13 01:16:00 ProcMgr-worker\n 1566 0.1 7.3 ? Sl Aug 13 01:13:26 ConfigAgent\n 1 0.0 0.0 ? Ss Aug 13 00:03:52 /sbin/init\n 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd]\n 3 0.0 0.0 ? S Aug 13 00:00:21 [ksoftirqd/0]\n 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H]\n 6 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:0]\n 7 0.0 0.0 ? S Aug 13 00:00:38 [rcu_preempt]\n 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched]\n 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh]\n 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0]\n 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain]\n 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0]\n 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0]\n 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1]\n 15 0.0 0.0 ? S Aug 13 00:00:02 [watchdog/1]\n 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1]\n 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1]\n 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0]\n 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H]\n 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2]\n 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2]\n 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2]\n 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2]\n 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0]\n 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H]\n 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3]\n 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3]\n 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3]\n 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3]\n 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0]\n 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H]\n 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs]\n 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns]\n 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd]\n 35 0.0 0.0 ? S Aug 13 00:01:05 [khungtaskd2]\n 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper]\n 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback]\n 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0]\n 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto]\n 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd]\n 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd]\n 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff]\n 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller]\n 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task]\n 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd]\n 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd]\n 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl]\n 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod]\n 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod]\n 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0]\n 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat]\n 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod]\n 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd]\n 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme]\n 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd]\n 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf]\n 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq]\n 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-]\n 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver]\n 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H]\n 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0]\n 346 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:2]\n 384 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd\n 413 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f\n 497 0.0 0.0 ? S< Aug 13 00:00:00 [ena]\n 732 0.0 0.0 ? Ss Aug 13 00:01:07 /usr/lib/systemd/systemd-logind\n 734 0.0 0.0 ? Ss Aug 13 00:00:45 /usr/bin/ProcMonitor\n 742 0.0 0.1 ? Ss Aug 13 00:02:21 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation\n 762 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1]\n 777 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground\n 797 0.0 0.0 ? Ss Aug 13 00:00:12 /usr/sbin/crond -n\n 812 0.0 0.0 ? S<s Aug 13 00:00:18 /usr/bin/wdogdev -t 60\n 823 0.0 0.0 ? Ss Aug 13 00:00:03 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid\n 951 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local\n 953 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 979 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys\n 981 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 990 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure\n 991 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1043 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil\n 1048 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon\n 1163 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1164 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1197 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm\n 1238 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1240 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1254 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master\n 1462 0.0 0.0 ? S Aug 13 00:08:45 /usr/bin/EosOomAdjust\n 1470 0.0 0.0 ? S Aug 13 00:00:15 [rbfd_vrf_cleanu]\n 1485 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid\n 1522 0.0 0.0 ? S Aug 13 00:02:04 /usr/bin/SlabMonitor\n 1523 0.0 2.5 ? S Aug 13 00:29:27 Sysdb\n 1565 0.0 1.2 ? S Aug 13 00:00:35 StageMgr\n 1570 0.0 1.4 ? S Aug 13 00:01:26 Fru\n 1571 0.0 1.8 ? S Aug 13 00:00:32 Launcher\n 1694 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=275501144304,275500693129,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp\n 1695 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1696 0.0 1.2 ? S Aug 13 00:07:30 Lldp\n 1699 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=275605242171,275551678101,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon\n 1700 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H]\n 1702 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1704 0.0 1.2 ? S Aug 13 00:02:56 McastCommon\n 1708 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=275773786218,275650165758,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec\n 1711 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1712 0.0 1.1 ? S Aug 13 00:01:46 PortSec\n 1721 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=279574021921,279385129478,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd\n 1722 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1723 0.0 1.4 ? S Aug 13 00:03:30 Bfd\n 1724 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=280109105290,280107199461,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag\n 1726 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1727 0.0 1.3 ? S Aug 13 00:13:50 Lag\n 1729 0.0 1.7 ? S Aug 13 00:28:05 SuperServer\n 1732 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=283892362299,283880109624,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira\n 1733 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1734 0.0 1.5 ? S Aug 13 00:03:01 Ira\n 1736 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=288108381572,287775061276,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy\n 1737 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1738 0.0 1.1 ? S Aug 13 00:02:22 LedPolicy\n 1739 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=288299247450,288179510165,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr\n 1740 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1741 0.0 1.3 ? S Aug 13 00:06:07 EventMgr\n 1743 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=288579662140,288395482866,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx\n 1744 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1745 0.0 1.2 ? S Aug 13 00:21:15 StpTxRx\n 1746 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=292115254711,288676120489,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld\n 1747 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1749 0.0 1.1 ? S Aug 13 00:00:31 StandbyCpld\n 1750 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=292267583010,292186647304,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor\n 1751 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1753 0.0 1.0 ? S Aug 13 00:31:46 AgentMonitor\n 1754 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=292421762940,292330626218,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel\n 1755 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1756 0.0 1.2 ? S Aug 13 00:01:11 Tunnel\n 1757 0.0 1.5 ? Sl Aug 13 00:06:26 Aaa\n 1759 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=292808046113,292716319651,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology\n 1760 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1761 0.0 1.2 ? S Aug 13 00:02:48 StpTopology\n 1762 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=296523011761,292995169616,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl\n 1763 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1764 0.0 1.4 ? S Aug 13 00:15:47 Acl\n 1771 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=297041265896,296648985313,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp\n 1773 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1774 0.0 1.1 ? S Aug 13 00:03:57 Stp\n 1778 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=297164816515,297132428879,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo\n 1780 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1782 0.0 1.1 ? S Aug 13 00:01:47 KernelNetworkInfo\n 1786 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=300924273292,300805414611,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6\n 1793 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1800 0.0 1.2 ? S Aug 13 00:02:33 McastCommon6\n 1806 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=301369414784,301079967103,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent\n 1810 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1813 0.0 1.2 ? S Aug 13 00:02:45 LacpTxAgent\n 1825 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=305150183208,301517231056,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp\n 1827 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1830 0.0 1.5 ? S Aug 13 00:03:42 Arp\n 1845 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=305766616581,305331306787,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib\n 1849 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1850 0.0 1.4 ? S Aug 13 00:02:49 KernelFib\n 1855 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=305914666962,305891078210,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos\n 1861 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1863 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=310155317299,310146122555,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat\n 1866 0.0 1.2 ? S Aug 13 00:02:10 Qos\n 1869 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1872 0.0 1.1 ? S Aug 13 00:01:47 Thermostat\n 1876 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=313651175211,310235138896,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib\n 1880 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1883 0.0 1.2 ? S Aug 13 00:00:57 L2Rib\n 1885 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=313910588628,313716056362,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled\n 1886 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1887 0.0 1.2 ? S Aug 13 00:01:24 TopoAgent\n 1889 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=314257465954,313997347978,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse\n 1890 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1892 0.0 1.0 ? S Aug 13 00:00:30 PowerFuse\n 1893 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=314448379045,314392881768,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager\n 1894 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1895 0.0 1.1 ? S Aug 13 00:00:31 PowerManager\n 1896 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=318077978536,317883825927,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra\n 1900 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1905 0.0 1.4 ? S Aug 13 00:05:18 Ebra\n 1913 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=318598602805,318228924536,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent\n 1914 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1916 0.0 1.1 ? S Aug 13 00:00:30 ReloadCauseAgent\n 1918 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=318762514420,318696297345,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile\n 1920 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1922 0.0 1.0 ? S Aug 13 00:00:30 SharedSecretProfile\n 1923 0.0 1.5 ? S Aug 13 00:02:52 IgmpSnooping\n 1933 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=322651195162,322650789524,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled\n 1934 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1935 0.0 1.3 ? S Aug 13 00:01:47 StaticRoute\n 1937 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=322914040580,322748011657,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled\n 1938 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1940 0.0 1.6 ? S Aug 13 00:06:58 IpRib\n 1943 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=326588334299,323000468604,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled\n 1944 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1945 0.0 1.8 ? S Aug 13 00:01:51 BgpCliHelper\n 1949 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=326677503453,326675454310,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute\n 1953 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1957 0.0 1.3 ? S Aug 13 00:03:06 ConnectedRoute\n 1964 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=327312488625,326986790248,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput\n 1965 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1966 0.0 1.3 ? S Aug 13 00:01:49 RouteInput\n 1974 0.0 2.2 ? Sl Aug 13 00:09:16 Bgp\n 2002 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=331509489560,331172745644,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe\n 2008 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2286 0.0 0.0 ? Ssl Aug 13 00:00:23 /usr/sbin/rsyslogd -n\n 2340 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq\n 2602 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=378753852405,378753400392,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager\n 2603 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2605 0.0 1.1 ? S Aug 13 00:00:33 LicenseManager\n 2656 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd\n 2657 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux\n 2658 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0\n 2664 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2656 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'\n 2667 0.0 0.0 ? S Aug 13 00:00:17 /usr/bin/tail -n 0 --retry --follow=name --pid=2656 /var/log/eos-console\n 2668 0.0 0.0 ? S Aug 13 00:00:00 sed s/\\(.*\\)/\\1\\r/\n 2707 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct>\n 2734 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=399762211162,399761786247,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec\n 2735 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2736 0.0 1.2 ? S Aug 13 00:07:54 Ipsec\n 2739 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1\n 2766 0.0 0.1 ? Ssl Aug 13 00:00:49 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid\n 2770 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc\n 3341 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon\n 3343 0.0 0.1 ? Ssl Aug 13 00:01:19 /usr/libexec/strongswan/charon --use-syslog\n 6525 0.0 0.0 ? S 16:27:00 00:00:00 [kworker/0:0]\n 8662 0.0 0.0 ? S Sep 02 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh\n 9288 0.0 0.0 ? Rs 16:32:50 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww\n18367 0.0 0.0 ? S Aug 14 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=665682214635995,665682214376331,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini\n18368 0.0 0.3 ? Ss Aug 14 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n18369 0.0 1.3 ? Sl Aug 14 00:01:39 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n18413 0.0 0.0 ? Ss Aug 14 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;\n18415 0.0 0.1 ? S Aug 14 00:01:19 nginx: worker process \n30446 0.0 0.0 ? S 15:58:00 00:00:00 [kworker/0:4]\n31262 0.0 0.0 ? S 16:10:00 00:00:00 [kworker/0:2]\n"}, 'show running-config section username': {'json': {'output': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'text': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'show aaa counters': {'json': {'authenticationSuccess': 82090, 'authorizationAllowed': 800, 'accountingSuccess': 0, 'pendingAccountingRequests': 0, 'authorizationDenied': 0, 'authenticationFail': 0, 'authenticationUnavailable': 102, 'accountingError': 0, 'authorizationUnavailable': 0}, 'text': 'Authentication\n Successful: 82093\n Failed: 0\n Service unavailable: 102\n\nAuthorization\n Allowed: 800\n Denied: 0\n Service unavailable: 0\n\nAccounting\n Successful: 0\n Error: 0\n Pending: 0\n\nLast time counters were cleared: never\n'}, 'show users detail': {'json': {'serials': {}, 'nonInteractives': {'82219': {'username': 'kgrozis', 'state': 'established', 'sessionStartTime': 1599669160, 'role': '', 'service': 'commandApi', 'authMethod': 'local'}}, 'vtys': {}}, 'text': 'Session Username Roles TTY State Duration Auth Remote Host \n-------- --------- ------- ------------- ------- ---------- ------- ----------- \n82219 kgrozis command-api E 0:00:13 local \n'}, 'show aaa methods all': {'json': {'authorization': {'commandsAuthzMethods': {'privilege0-15': {'methods': ['none']}}, 'execAuthzMethods': {'exec': {'methods': ['none']}}}, 'authentication': {'loginAuthenMethods': {'default': {'methods': ['local']}}, 'dot1xAuthenMethods': {'default': {'methods': []}}, 'enableAuthenMethods': {'default': {'methods': ['local']}}}, 'accounting': {'systemAcctMethods': {'system': {'defaultMethods': [], 'consoleMethods': []}}, 'execAcctMethods': {'exec': {'defaultMethods': [], 'consoleMethods': []}}, 'commandsAcctMethods': {'privilege0-15': {'defaultMethods': [], 'consoleMethods': []}}, 'dot1xAcctMethods': {'dot1x': {'defaultMethods': [], 'consoleMethods': []}}}}, 'text': 'Authentication method lists for LOGIN:\n name=default methods=local\nAuthentication method list for ENABLE:\n name=default methods=local\nAuthentication method list for DOT1X:\n name=default methods=\nAuthorization method lists for COMMANDS:\n name=privilege0-15 methods=none\nAuthorization method list for EXEC:\n name=exec methods=none\nAccounting method lists for COMMANDS:\n name=privilege0-15 default-action=none\nAccounting method list for EXEC:\n name=exec default-action=none\nAccounting method list for SYSTEM:\n name=system default-action=none\nAccounting method list for DOT1X:\n name=dot1x default-action=none\n'}, 'show ntp status': {'json': {'status': 'synchronised', 'pollingInterval': 1024, 'stratum': 4, 'maxEstimatedError': 26, 'server': '169.254.169.123'}, 'text': 'synchronised to NTP server (169.254.169.123) at stratum 4\n time correct to within 26 ms\n polling server every 1024 s\n\n'}, 'show ntp associations': {'json': {'peers': {'169.254.169.123': {'delay': 0.108, 'jitter': 0.503, 'lastReceived': 1599668510.0, 'peerType': 'local', 'reachabilityHistory': [True, True, True, True, True, True, True, True], 'condition': 'sys.peer', 'offset': 0.448, 'peerIpAddr': '169.254.169.123', 'pollInterval': 1024, 'refid': '169.254.169.122', 'stratumLevel': 3}}}, 'text': ' remote refid st t when poll reach delay offset jitter\n==============================================================================\n*169.254.169.123 169.254.169.12 3 l 666 1024 377 0.108 0.448 0.503\n'}, 'show daemon': {'json': {'daemons': {'TerminAttr': {'running': True, 'option': {}, 'starttime': 1597281524.1335511, 'pid': 1714, 'enabled': True, 'uptime': 2387652.8499999996, 'data': {}, 'isSdkAgent': False}}}, 'text': 'Process: TerminAttr (running with PID 1714)\nUptime: 27 days, 15:14:13 (Start time: Thu Aug 13 01:18:44 2020)\nNo configuration options stored.\n\nNo status data stored.\n\n'}, 'show zerotouch': {'json': {'mode': 'disabled', 'scriptTimeout': 900}, 'text': '\nZeroTouch Mode: Disabled\nScript Exec Timeout: 900\n'}, 'dir flash:zerotouch-config': {'json': {'messages': ['Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7293403136 bytes free)\n']}, 'text': 'Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7293403136 bytes free)\n'}, 'show system environment temperature': {'json': {'cardSlots': [], 'powerSupplySlots': [], 'shutdownOnOverheat': True, 'tempSensors': [], 'systemStatus': 'unknownTemperatureAlarmLevel'}, 'text': 'System temperature status is: Unknown\n'}, 'show system environment cooling': {'json': {'overrideFanSpeed': 0, 'coolingMode': 'automatic', 'powerSupplySlots': [], 'fanTraySlots': [], 'minFanSpeed': 0, 'shutdownOnInsufficientFans': True, 'systemStatus': 'unknownCoolingAlarmLevel', 'airflowDirection': 'unknownAirflowDirection'}, 'text': 'System cooling status is: Unknown\nAmbient temperature: Unknown\n Config Actual Speed Stable\nFan Status Speed Speed Uptime Stability Uptime\n--- ------ ------ ------ ------ --------- ------\n'}, 'show management api http-commands': {'json': {'httpServer': {'running': False, 'configured': False, 'port': 80}, 'users': {'kgrozis': {'requestCount': 75231, 'bytesOut': 194403167, 'lastHitTime': 1599669178.3961782, 'bytesIn': 12161050}}, 'bytesOut': 194403167, 'logLevel': 'none', 'dscpValue': 0, 'corsOrigins': [], 'hitCount': 80133, 'vrf': 'default', 'lastHitTime': 1599669178.396148, 'tlsProtocol': ['1.0', '1.1', '1.2'], 'localHttpServer': {'running': False, 'configured': False, 'port': 8080}, 'executionTime': 6393.847301007394, 'enabled': True, 'fipsEnabled': False, 'httpsServer': {'running': True, 'configured': True, 'port': 443}, 'requestCount': 75231, 'vrfs': ['default'], 'urls': ['Ethernet1 : https://11.201.13.101:443', 'Ethernet100 : https://11.201.8.1:443', 'Loopback0 : https://11.201.0.4:443', 'Loopback10 : https://198.18.0.38:443'], 'unixSocketServer': {'running': False, 'configured': False}, 'bytesIn': 12161050, 'commandCount': 150462, 'iframeAncestors': []}, 'text': 'Enabled: Yes\nHTTPS server: running, set to use port 443\nHTTP server: shutdown, set to use port 80\nLocal HTTP server: shutdown, no authentication, set to use port 8080\nUnix Socket server: shutdown, no authentication\nVRFs: default\nHits: 80137\nLast hit: 0 seconds ago\nBytes in: 12161686\nBytes out: 194405820\nRequests: 75235\nCommands: 150470\nDuration: 6393.882 seconds\nSSL Profile: none\nFIPS Mode: No\nQoS DSCP: 0\nLog Level: none\nCSP Frame Ancestor: None\nTLS Protocols: 1.0 1.1 1.2\n User Requests Bytes in Bytes out Last hit \n------------- -------------- -------------- --------------- ------------- \n kgrozis 75235 12161686 194405820 0 seconds ago \n\nURLs \n--------------------------------------- \nEthernet1 : https://11.201.13.101:443 \nEthernet100 : https://11.201.8.1:443 \nLoopback0 : https://11.201.0.4:443 \nLoopback10 : https://198.18.0.38:443 \n\n'}, 'show tacacs': {'json': {'tacacsServers': [], 'groups': {}, 'srcIntf': {}, 'lastCounterClearTime': 0.0}, 'text': '\nLast time counters were cleared: never\n'}, 'show logging': {'json': {'output': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:19 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:23 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:31 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:27 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:32 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:10 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:18 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:27 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:42 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:48 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:56 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:36 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:41 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:49 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:46 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:55 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:07 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:12 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:21 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:08 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:12 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:20 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}, 'text': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:19 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:23 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:31 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:27 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:32 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:10 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:18 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:27 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:42 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:48 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:56 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:36 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:41 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:49 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:46 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:55 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:07 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:12 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:21 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:08 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:12 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:20 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}}} test_name: test_if_files_on_ test_parameters: {'parameters': {'show_log': 'show_output.log'}} INFO root:tests_tools.py:250 Return model data and text output from show commands and log text output for show file information flash:veos-config with connnection Node(connection=EapiConnection(transport=https://3.131.6.163:443//command-api)) INFO root:tests_tools.py:254 Raw json output of show file information flash:veos-config on dut kg-topology-CloudEosRR2: [{'command': 'show file information flash:veos-config', 'result': {'isDir': False, 'path': 'flash:/veos-config', 'fileName': '/mnt/flash/veos-config'}, 'encoding': 'json'}] INFO root:tests_tools.py:257 Raw text output of show file information flash:veos-config on dut kg-topology-CloudEosRR2: [{'output': 'flash:/veos-config:\n type is file\n'}] INFO root:tests_tools.py:311 Open log file for logging test show commands INFO root:tests_tools.py:315 Opening file show_output.log and append show output: flash:/veos-config: type is file INFO root:test_filesystem.py:80 WHEN flash:veos-config file isDir state is |False| INFO root:test_filesystem.py:84 THEN test case result is |True| INFO root:test_filesystem.py:85 OUTPUT of |show file information flash:veos-config| is : [{'output': 'flash:/veos-config:\n type is file\n'}] INFO root:test_filesystem.py:70 TEST is flash:zerotouch-config file present on |kg-topology-CloudEosRR2| INFO root:test_filesystem.py:71 GIVEN expected flash:zerotouch-config isDir state: |False| INFO root:tests_tools.py:245 Raw Input for return_show_cmd show_cmd: show file information flash:zerotouch-config dut: {'connection': Node(connection=EapiConnection(transport=https://3.131.6.163:443//command-api)), 'name': 'kg-topology-CloudEosRR2', 'output': {'interface_list': [{'hostname': 'kg-topology-CloudEosRR2', 'interface_name': 'Ethernet1', 'z_hostname': 'spine01', 'z_interface_name': 'Ethernet2', 'media_type': ''}], 'show interfaces status': {'json': {'interfaceStatuses': {'Ethernet100': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 10000000000, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet1': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}}}, 'text': 'Port Name Status Vlan Duplex Speed Type Flags Encapsulation\nEt1 connected routed full unconf 10/100/1000 \nEt100 connected routed full 10G 10/100/1000 \n\n'}, 'show interfaces phy detail': {'json': {'interfacePhyStatuses': {}}, 'text': ''}, 'show hostname': {'json': {'fqdn': 'kg-topology-CloudEosRR2', 'hostname': 'kg-topology-CloudEosRR2'}, 'text': 'Hostname: kg-topology-CloudEosRR2\nFQDN: kg-topology-CloudEosRR2\n'}, 'show extensions': {'json': {'extensions': {'awslogs.swix': {'status': 'installed', 'vendor': 'Amazon <UNKNOWN>', 'description': ' awsclicwlogs This awscli plugin provides the pull, push and filter commands to\naccess AWS CloudWatch Logs service. The awsclicwlogs package works on Python\nversions:* 2.6.5 and greater * 2.7.x and greater * 3.3.x and greater\nInstallation The easiest way to install awsclicwlogs is to use pip_:: $ pip\ninstall awsclicwlogsor, if you are not installing in a virtualenv:: $ sudo pip\ninstall ...', 'presence': 'present', 'rpms': {'awslogs.noarch.rpm': {'release': '1.el7', 'version': '1.4.0'}}, 'summary': 'AWSCLI CloudWatch Logs plugin', 'version': '1.4.0', 'numRpms': 1, 'error': False, 'release': '1.el7', 'installedSize': 23414055}, 'awsha.rpm': {'status': 'installed', 'vendor': '', 'description': 'Aws HA', 'presence': 'present', 'rpms': {'awsha.rpm': {'release': '1', 'version': '0.1.1'}}, 'summary': 'Aws HA', 'version': '0.1.1', 'numRpms': 1, 'error': False, 'release': '1', 'installedSize': 10073042}}}, 'text': 'Name Version/Release Status Extension\n----------------- -------------------- ----------- ---------\nawsha.rpm 0.1.1/1 A, I 1 \nawslogs.swix 1.4.0/1.el7 A, I 1 \n\n\nA: available | NA: not available | I: installed | NI: not installed | F: forced\nS: valid signature | NS: invalid signature\n'}, 'show version': {'json': {'memTotal': 7818736, 'uptime': 2387712.0, 'modelName': 'vEOS', 'internalVersion': '4.23.1F-cloud-16179785.jakartarel', 'mfgName': 'Arista', 'serialNumber': '93F97AD3A1044C742872BA1CFA684D63', 'systemMacAddress': '06:54:9b:7c:b0:0f', 'bootupTimestamp': 1597281459.0, 'memFree': 3016648, 'version': '4.23.1F-cloud-16179785.jakartarel (engineering build)', 'configMacAddress': '00:00:00:00:00:00', 'isIntlVersion': False, 'internalBuildId': '6bc96200-86c1-4e86-bed7-8280a6802809', 'hardwareRevision': '', 'hwMacAddress': '00:00:00:00:00:00', 'architecture': 'x86_64'}, 'text': 'Arista vEOS\nHardware version: \nSerial number: 93F97AD3A1044C742872BA1CFA684D63\nSystem MAC address: 0654.9b7c.b00f\n\nSoftware image version: 4.23.1F-cloud-16179785.jakartarel (engineering build)\nArchitecture: x86_64\nInternal build version: 4.23.1F-cloud-16179785.jakartarel\nInternal build ID: 6bc96200-86c1-4e86-bed7-8280a6802809\n\nUptime: 3 weeks, 6 days, 15 hours and 15 minutes\nTotal memory: 7818736 kB\nFree memory: 3016640 kB\n\n'}, 'show processes': {'json': {'processes': {'2009': {'totalActiveTime': 2444047, 'memPct': 3.4, 'cpuPct': 102.0, 'startTime': 1597281536.0, 'cmd': 'Sfe', 'state': 'Sl', 'ttyName': '?'}, '1714': {'totalActiveTime': 9717, 'memPct': 1.9, 'cpuPct': 0.4, 'startTime': 1597281523.0, 'cmd': '/usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.13.101 -taillogs -grpcaddr=0.0.0.0:6042', 'state': 'Sl', 'ttyName': '?'}, '8684': {'totalActiveTime': 1417, 'memPct': 0.7, 'cpuPct': 0.2, 'startTime': 1599077706.0, 'cmd': 'python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config', 'state': 'SNl', 'ttyName': '?'}, '1255': {'totalActiveTime': 4560, 'memPct': 0.9, 'cpuPct': 0.1, 'startTime': 1597281484.0, 'cmd': 'ProcMgr-worker', 'state': 'S', 'ttyName': '?'}, '1566': {'totalActiveTime': 4405, 'memPct': 7.2, 'cpuPct': 0.1, 'startTime': 1597281501.0, 'cmd': 'ConfigAgent', 'state': 'Sl', 'ttyName': '?'}, '1': {'totalActiveTime': 232, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '/sbin/init', 'state': 'Ss', 'ttyName': '?'}, '2': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kthreadd]', 'state': 'S', 'ttyName': '?'}, '3': {'totalActiveTime': 21, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ksoftirqd/0]', 'state': 'S', 'ttyName': '?'}, '5': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/0:0H]', 'state': 'S<', 'ttyName': '?'}, '6': {'totalActiveTime': 1, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/u8:0]', 'state': 'S', 'ttyName': '?'}, '7': {'totalActiveTime': 38, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[rcu_preempt]', 'state': 'S', 'ttyName': '?'}, '8': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[rcu_sched]', 'state': 'S', 'ttyName': '?'}, '9': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[rcu_bh]', 'state': 'S', 'ttyName': '?'}, '10': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[migration/0]', 'state': 'S', 'ttyName': '?'}, '11': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[lru-add-drain]', 'state': 'S<', 'ttyName': '?'}, '12': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[watchdog/0]', 'state': 'S', 'ttyName': '?'}, '13': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[cpuhp/0]', 'state': 'S', 'ttyName': '?'}, '14': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[cpuhp/1]', 'state': 'S', 'ttyName': '?'}, '15': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[watchdog/1]', 'state': 'S', 'ttyName': '?'}, '16': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[migration/1]', 'state': 'S', 'ttyName': '?'}, '17': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ksoftirqd/1]', 'state': 'S', 'ttyName': '?'}, '18': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/1:0]', 'state': 'S', 'ttyName': '?'}, '19': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/1:0H]', 'state': 'S<', 'ttyName': '?'}, '20': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[cpuhp/2]', 'state': 'S', 'ttyName': '?'}, '21': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[watchdog/2]', 'state': 'S', 'ttyName': '?'}, '22': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[migration/2]', 'state': 'S', 'ttyName': '?'}, '23': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ksoftirqd/2]', 'state': 'S', 'ttyName': '?'}, '24': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/2:0]', 'state': 'S', 'ttyName': '?'}, '25': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/2:0H]', 'state': 'S<', 'ttyName': '?'}, '26': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[cpuhp/3]', 'state': 'S', 'ttyName': '?'}, '27': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[watchdog/3]', 'state': 'S', 'ttyName': '?'}, '28': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[migration/3]', 'state': 'S', 'ttyName': '?'}, '29': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ksoftirqd/3]', 'state': 'S', 'ttyName': '?'}, '30': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/3:0]', 'state': 'S', 'ttyName': '?'}, '31': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kworker/3:0H]', 'state': 'S<', 'ttyName': '?'}, '32': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kdevtmpfs]', 'state': 'S', 'ttyName': '?'}, '33': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[netns]', 'state': 'S<', 'ttyName': '?'}, '34': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[khungtaskd]', 'state': 'S', 'ttyName': '?'}, '35': {'totalActiveTime': 65, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[khungtaskd2]', 'state': 'S', 'ttyName': '?'}, '36': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[oom_reaper]', 'state': 'S', 'ttyName': '?'}, '37': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[writeback]', 'state': 'S<', 'ttyName': '?'}, '38': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kcompactd0]', 'state': 'S', 'ttyName': '?'}, '39': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[crypto]', 'state': 'S<', 'ttyName': '?'}, '40': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kintegrityd]', 'state': 'S<', 'ttyName': '?'}, '41': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '42': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kblockd]', 'state': 'S<', 'ttyName': '?'}, '43': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ata_sff]', 'state': 'S<', 'ttyName': '?'}, '44': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[edac-poller]', 'state': 'S<', 'ttyName': '?'}, '45': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[dst_gc_task]', 'state': 'S', 'ttyName': '?'}, '46': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[watchdogd]', 'state': 'S<', 'ttyName': '?'}, '47': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[arp_cache-prd]', 'state': 'S', 'ttyName': '?'}, '49': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[icmp_unreachabl]', 'state': 'S', 'ttyName': '?'}, '50': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[rpciod]', 'state': 'S<', 'ttyName': '?'}, '51': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[xprtiod]', 'state': 'S<', 'ttyName': '?'}, '52': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[kswapd0]', 'state': 'S', 'ttyName': '?'}, '53': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[vmstat]', 'state': 'S<', 'ttyName': '?'}, '54': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[nfsiod]', 'state': 'S<', 'ttyName': '?'}, '63': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[pcielwd]', 'state': 'S<', 'ttyName': '?'}, '64': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '65': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '66': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '67': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '68': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '69': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '70': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '71': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '72': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[nvme]', 'state': 'S<', 'ttyName': '?'}, '74': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ndisc_cache-prd]', 'state': 'S', 'ttyName': '?'}, '75': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ipv6_addrconf]', 'state': 'S<', 'ttyName': '?'}, '76': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ecc_log_wq]', 'state': 'S<', 'ttyName': '?'}, '124': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '125': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '171': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[jbd2/nvme0n1p1-]', 'state': 'S', 'ttyName': '?'}, '172': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281458.0, 'cmd': '[ext4-rsv-conver]', 'state': 'S<', 'ttyName': '?'}, '194': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281459.0, 'cmd': '[kworker/0:1H]', 'state': 'S<', 'ttyName': '?'}, '272': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '[loop0]', 'state': 'S<', 'ttyName': '?'}, '346': {'totalActiveTime': 1, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/u8:2]', 'state': 'S', 'ttyName': '?'}, '384': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '/usr/lib/systemd/systemd-udevd', 'state': 'Ss', 'ttyName': '?'}, '413': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '/usr/sbin/lvmetad -f', 'state': 'Ss', 'ttyName': '?'}, '497': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '[ena]', 'state': 'S<', 'ttyName': '?'}, '732': {'totalActiveTime': 67, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '/usr/lib/systemd/systemd-logind', 'state': 'Ss', 'ttyName': '?'}, '734': {'totalActiveTime': 45, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '/usr/bin/ProcMonitor', 'state': 'Ss', 'ttyName': '?'}, '742': {'totalActiveTime': 141, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '/usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation', 'state': 'Ss', 'ttyName': '?'}, '762': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '[kworker/1:1]', 'state': 'S', 'ttyName': '?'}, '777': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281469.0, 'cmd': '/usr/sbin/mcelog --ignorenodev --daemon --foreground', 'state': 'Ss', 'ttyName': '?'}, '797': {'totalActiveTime': 12, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281469.0, 'cmd': '/usr/sbin/crond -n', 'state': 'Ss', 'ttyName': '?'}, '812': {'totalActiveTime': 18, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281469.0, 'cmd': '/usr/bin/wdogdev -t 60', 'state': 'S<s', 'ttyName': '?'}, '823': {'totalActiveTime': 3, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281469.0, 'cmd': '/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid', 'state': 'Ss', 'ttyName': '?'}, '951': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local', 'state': 'S', 'ttyName': '?'}, '953': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/0'}, '979': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys', 'state': 'S', 'ttyName': '?'}, '981': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/1'}, '990': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure', 'state': 'S', 'ttyName': '?'}, '991': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281471.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/2'}, '1043': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281472.0, 'cmd': '/usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil', 'state': 'Ss', 'ttyName': '?'}, '1048': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281473.0, 'cmd': '/bin/bash /usr/sbin/core_annotate_util daemon', 'state': 'Ss', 'ttyName': '?'}, '1163': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': 'python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1164': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': '/usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1197': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': 'inotifywait -e modify /var/lib/rpm', 'state': 'S', 'ttyName': '?'}, '1238': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281483.0, 'cmd': 'netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1240': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281483.0, 'cmd': 'netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1254': {'totalActiveTime': 0, 'memPct': 0.9, 'cpuPct': 0.0, 'startTime': 1597281484.0, 'cmd': 'ProcMgr-master', 'state': 'S', 'ttyName': '?'}, '1462': {'totalActiveTime': 525, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281498.0, 'cmd': '/usr/bin/EosOomAdjust', 'state': 'S', 'ttyName': '?'}, '1470': {'totalActiveTime': 15, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281498.0, 'cmd': '[rbfd_vrf_cleanu]', 'state': 'S', 'ttyName': '?'}, '1485': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281498.0, 'cmd': '/usr/sbin/acpid', 'state': 'Ss', 'ttyName': '?'}, '1522': {'totalActiveTime': 124, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281498.0, 'cmd': '/usr/bin/SlabMonitor', 'state': 'S', 'ttyName': '?'}, '1523': {'totalActiveTime': 1767, 'memPct': 2.5, 'cpuPct': 0.0, 'startTime': 1597281498.0, 'cmd': 'Sysdb', 'state': 'S', 'ttyName': '?'}, '1565': {'totalActiveTime': 35, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281501.0, 'cmd': 'StageMgr', 'state': 'S', 'ttyName': '?'}, '1570': {'totalActiveTime': 86, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281501.0, 'cmd': 'Fru', 'state': 'S', 'ttyName': '?'}, '1571': {'totalActiveTime': 32, 'memPct': 1.8, 'cpuPct': 0.0, 'startTime': 1597281502.0, 'cmd': 'Launcher', 'state': 'S', 'ttyName': '?'}, '1694': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=Lldp --demuxerOpts=275501144304,275500693129,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp', 'state': 'S', 'ttyName': '?'}, '1695': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1696': {'totalActiveTime': 450, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'Lldp', 'state': 'S', 'ttyName': '?'}, '1699': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=McastCommon --demuxerOpts=275605242171,275551678101,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon', 'state': 'S', 'ttyName': '?'}, '1700': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': '[kworker/1:1H]', 'state': 'S<', 'ttyName': '?'}, '1702': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1704': {'totalActiveTime': 176, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'McastCommon', 'state': 'S', 'ttyName': '?'}, '1708': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=PortSec --demuxerOpts=275773786218,275650165758,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec', 'state': 'S', 'ttyName': '?'}, '1711': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1712': {'totalActiveTime': 106, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'PortSec', 'state': 'S', 'ttyName': '?'}, '1721': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netns --agenttitle=Bfd --demuxerOpts=279574021921,279385129478,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd', 'state': 'S', 'ttyName': '?'}, '1722': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1723': {'totalActiveTime': 210, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'Bfd', 'state': 'S', 'ttyName': '?'}, '1724': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'netns --agenttitle=Lag --demuxerOpts=280109105290,280107199461,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag', 'state': 'S', 'ttyName': '?'}, '1726': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1727': {'totalActiveTime': 830, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'Lag', 'state': 'S', 'ttyName': '?'}, '1729': {'totalActiveTime': 1685, 'memPct': 1.7, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'SuperServer', 'state': 'S', 'ttyName': '?'}, '1732': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'netns --agenttitle=Ira --demuxerOpts=283892362299,283880109624,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira', 'state': 'S', 'ttyName': '?'}, '1733': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1734': {'totalActiveTime': 181, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'Ira', 'state': 'S', 'ttyName': '?'}, '1736': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'netns --agenttitle=LedPolicy --demuxerOpts=288108381572,287775061276,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy', 'state': 'S', 'ttyName': '?'}, '1737': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1738': {'totalActiveTime': 142, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'LedPolicy', 'state': 'S', 'ttyName': '?'}, '1739': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'netns --agenttitle=EventMgr --demuxerOpts=288299247450,288179510165,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr', 'state': 'S', 'ttyName': '?'}, '1740': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1741': {'totalActiveTime': 367, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'EventMgr', 'state': 'S', 'ttyName': '?'}, '1743': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'netns --agenttitle=StpTxRx --demuxerOpts=288579662140,288395482866,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx', 'state': 'S', 'ttyName': '?'}, '1744': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1745': {'totalActiveTime': 1275, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281525.0, 'cmd': 'StpTxRx', 'state': 'S', 'ttyName': '?'}, '1746': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netns --agenttitle=StandbyCpld --demuxerOpts=292115254711,288676120489,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1747': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1749': {'totalActiveTime': 31, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1750': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netns --agenttitle=AgentMonitor --demuxerOpts=292267583010,292186647304,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1751': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1753': {'totalActiveTime': 1906, 'memPct': 1.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1754': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netns --agenttitle=Tunnel --demuxerOpts=292421762940,292330626218,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel', 'state': 'S', 'ttyName': '?'}, '1755': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1756': {'totalActiveTime': 71, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'Tunnel', 'state': 'S', 'ttyName': '?'}, '1757': {'totalActiveTime': 386, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'Aaa', 'state': 'Sl', 'ttyName': '?'}, '1759': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netns --agenttitle=StpTopology --demuxerOpts=292808046113,292716319651,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology', 'state': 'S', 'ttyName': '?'}, '1760': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1761': {'totalActiveTime': 168, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281526.0, 'cmd': 'StpTopology', 'state': 'S', 'ttyName': '?'}, '1762': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netns --agenttitle=Acl --demuxerOpts=296523011761,292995169616,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl', 'state': 'S', 'ttyName': '?'}, '1763': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1764': {'totalActiveTime': 947, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'Acl', 'state': 'S', 'ttyName': '?'}, '1771': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netns --agenttitle=Stp --demuxerOpts=297041265896,296648985313,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp', 'state': 'S', 'ttyName': '?'}, '1773': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1774': {'totalActiveTime': 237, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281527.0, 'cmd': 'Stp', 'state': 'S', 'ttyName': '?'}, '1778': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netns --agenttitle=KernelNetworkInfo --demuxerOpts=297164816515,297132428879,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1780': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1782': {'totalActiveTime': 107, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1786': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netns --agenttitle=McastCommon6 --demuxerOpts=300924273292,300805414611,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6', 'state': 'S', 'ttyName': '?'}, '1793': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1800': {'totalActiveTime': 153, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'McastCommon6', 'state': 'S', 'ttyName': '?'}, '1806': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netns --agenttitle=LacpTxAgent --demuxerOpts=301369414784,301079967103,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1810': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1813': {'totalActiveTime': 165, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281528.0, 'cmd': 'LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1825': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netns --agenttitle=Arp --demuxerOpts=305150183208,301517231056,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp', 'state': 'S', 'ttyName': '?'}, '1827': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1830': {'totalActiveTime': 222, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'Arp', 'state': 'S', 'ttyName': '?'}, '1845': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netns --agenttitle=KernelFib --demuxerOpts=305766616581,305331306787,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib', 'state': 'S', 'ttyName': '?'}, '1849': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281529.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1850': {'totalActiveTime': 169, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'KernelFib', 'state': 'S', 'ttyName': '?'}, '1855': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netns --agenttitle=Qos --demuxerOpts=305914666962,305891078210,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos', 'state': 'S', 'ttyName': '?'}, '1861': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1863': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'netns --agenttitle=Thermostat --demuxerOpts=310155317299,310146122555,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat', 'state': 'S', 'ttyName': '?'}, '1866': {'totalActiveTime': 130, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281530.0, 'cmd': 'Qos', 'state': 'S', 'ttyName': '?'}, '1869': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1872': {'totalActiveTime': 107, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'Thermostat', 'state': 'S', 'ttyName': '?'}, '1876': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netns --agenttitle=L2Rib --demuxerOpts=313651175211,310235138896,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib', 'state': 'S', 'ttyName': '?'}, '1880': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1883': {'totalActiveTime': 57, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'L2Rib', 'state': 'S', 'ttyName': '?'}, '1885': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netns --agenttitle=TopoAgent --demuxerOpts=313910588628,313716056362,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled', 'state': 'S', 'ttyName': '?'}, '1886': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1887': {'totalActiveTime': 84, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'TopoAgent', 'state': 'S', 'ttyName': '?'}, '1889': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netns --agenttitle=PowerFuse --demuxerOpts=314257465954,313997347978,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse', 'state': 'S', 'ttyName': '?'}, '1890': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1892': {'totalActiveTime': 30, 'memPct': 1.0, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'PowerFuse', 'state': 'S', 'ttyName': '?'}, '1893': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281531.0, 'cmd': 'netns --agenttitle=PowerManager --demuxerOpts=314448379045,314392881768,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager', 'state': 'S', 'ttyName': '?'}, '1894': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1895': {'totalActiveTime': 31, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'PowerManager', 'state': 'S', 'ttyName': '?'}, '1896': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=Ebra --demuxerOpts=318077978536,317883825927,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra', 'state': 'S', 'ttyName': '?'}, '1900': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1905': {'totalActiveTime': 318, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'Ebra', 'state': 'S', 'ttyName': '?'}, '1913': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=ReloadCauseAgent --demuxerOpts=318598602805,318228924536,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1914': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1916': {'totalActiveTime': 30, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1918': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=SharedSecretProfile --demuxerOpts=318762514420,318696297345,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1920': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1922': {'totalActiveTime': 30, 'memPct': 1.0, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1923': {'totalActiveTime': 172, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'IgmpSnooping', 'state': 'S', 'ttyName': '?'}, '1933': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netns --agenttitle=StaticRoute --demuxerOpts=322651195162,322650789524,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled', 'state': 'S', 'ttyName': '?'}, '1934': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1935': {'totalActiveTime': 107, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'StaticRoute', 'state': 'S', 'ttyName': '?'}, '1937': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netns --agenttitle=IpRib --demuxerOpts=322914040580,322748011657,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled', 'state': 'S', 'ttyName': '?'}, '1938': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1940': {'totalActiveTime': 418, 'memPct': 1.6, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'IpRib', 'state': 'S', 'ttyName': '?'}, '1943': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netns --agenttitle=BgpCliHelper --demuxerOpts=326588334299,323000468604,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled', 'state': 'S', 'ttyName': '?'}, '1944': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1945': {'totalActiveTime': 111, 'memPct': 1.8, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'BgpCliHelper', 'state': 'S', 'ttyName': '?'}, '1949': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netns --agenttitle=ConnectedRoute --demuxerOpts=326677503453,326675454310,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '1953': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1957': {'totalActiveTime': 186, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '1964': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netns --agenttitle=RouteInput --demuxerOpts=327312488625,326986790248,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput', 'state': 'S', 'ttyName': '?'}, '1965': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1966': {'totalActiveTime': 109, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'RouteInput', 'state': 'S', 'ttyName': '?'}, '1974': {'totalActiveTime': 556, 'memPct': 2.2, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'Bgp', 'state': 'Sl', 'ttyName': '?'}, '2002': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=Sfe --demuxerOpts=331509489560,331172745644,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe', 'state': 'S', 'ttyName': '?'}, '2008': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2286': {'totalActiveTime': 23, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': '/usr/sbin/rsyslogd -n', 'state': 'Ssl', 'ttyName': '?'}, '2340': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': '/usr/sbin/dnsmasq', 'state': 'S', 'ttyName': '?'}, '2602': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281546.0, 'cmd': 'netns --agenttitle=LicenseManager --demuxerOpts=378753852405,378753400392,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager', 'state': 'S', 'ttyName': '?'}, '2603': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281546.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2605': {'totalActiveTime': 33, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281546.0, 'cmd': 'LicenseManager', 'state': 'S', 'ttyName': '?'}, '2656': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281548.0, 'cmd': '/usr/bin/conlogd', 'state': 'S', 'ttyName': '?'}, '2657': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281548.0, 'cmd': '/sbin/agetty --noclear tty1 linux', 'state': 'Ss+', 'ttyName': 'tty1'}, '2658': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281548.0, 'cmd': '/sbin/mingetty --noclear /dev/ttyS0', 'state': 'Ss+', 'ttyName': 'ttyS0'}, '2664': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281548.0, 'cmd': "sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2656 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'", 'state': 'S', 'ttyName': '?'}, '2667': {'totalActiveTime': 17, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281548.0, 'cmd': '/usr/bin/tail -n 0 --retry --follow=name --pid=2656 /var/log/eos-console', 'state': 'S', 'ttyName': '?'}, '2668': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281548.0, 'cmd': 'sed s/\\(.*\\)/\\1\\r/', 'state': 'S', 'ttyName': '?'}, '2707': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281550.0, 'cmd': '[SuperServer] <defunct>', 'state': 'Zs', 'ttyName': '?'}, '2734': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281551.0, 'cmd': 'netns --agenttitle=Ipsec --demuxerOpts=399762211162,399761786247,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec', 'state': 'S', 'ttyName': '?'}, '2735': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281551.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2736': {'totalActiveTime': 474, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281551.0, 'cmd': 'Ipsec', 'state': 'S', 'ttyName': '?'}, '2739': {'totalActiveTime': 1, 'memPct': 0.4, 'cpuPct': 0.0, 'startTime': 1597281551.0, 'cmd': 'dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1', 'state': 'Ss', 'ttyName': '?'}, '2766': {'totalActiveTime': 49, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': 'ntpd -u ntp:ntp -g -p /var/run/ntpd.pid', 'state': 'Ssl', 'ttyName': '?'}, '2770': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281556.0, 'cmd': 'fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc', 'state': 'Ss', 'ttyName': '?'}, '3341': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281703.0, 'cmd': '/usr/libexec/strongswan/starter --daemon charon', 'state': 'Ss', 'ttyName': '?'}, '3343': {'totalActiveTime': 79, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281703.0, 'cmd': '/usr/libexec/strongswan/charon --use-syslog', 'state': 'Ssl', 'ttyName': '?'}, '6525': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668820.0, 'cmd': '[kworker/0:0]', 'state': 'S', 'ttyName': '?'}, '8662': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599077705.0, 'cmd': '/bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh', 'state': 'S', 'ttyName': '?'}, '9270': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669170.0, 'cmd': 'ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww', 'state': 'Rs', 'ttyName': '?'}, '18367': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597436449.0, 'cmd': 'netns --agenttitle=CapiApp --demuxerOpts=665682214635995,665682214376331,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini', 'state': 'S', 'ttyName': '?'}, '18368': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597436449.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '18369': {'totalActiveTime': 99, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597436449.0, 'cmd': 'CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Sl', 'ttyName': '?'}, '18413': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597436450.0, 'cmd': 'nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;', 'state': 'Ss', 'ttyName': '?'}, '18415': {'totalActiveTime': 79, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597436450.0, 'cmd': 'nginx: worker process ', 'state': 'S', 'ttyName': '?'}, '30446': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599667080.0, 'cmd': '[kworker/0:4]', 'state': 'S', 'ttyName': '?'}, '31262': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599667800.0, 'cmd': '[kworker/0:2]', 'state': 'S', 'ttyName': '?'}}, 'timeInfo': {'upTime': 2387712.46, 'loadAvg': [1.48, 1.38, 1.3], 'users': 0, 'currentTime': 1599669171.432422}}, 'text': " 16:32:51 up 27 days, 15:15, 0 users, load average: 1.48, 1.38, 1.30\n PID %CPU %MEM TT STAT STARTED TIME CMD\n 2009 102 3.4 ? Sl Aug 13 28-06:54:07 Sfe\n 1714 0.4 1.9 ? Sl Aug 13 02:41:57 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.13.101 -taillogs -grpcaddr=0.0.0.0:6042\n 8684 0.2 0.7 ? SNl Sep 02 00:23:37 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config\n 1255 0.1 0.9 ? S Aug 13 01:16:00 ProcMgr-worker\n 1566 0.1 7.3 ? Sl Aug 13 01:13:26 ConfigAgent\n 1 0.0 0.0 ? Ss Aug 13 00:03:52 /sbin/init\n 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd]\n 3 0.0 0.0 ? S Aug 13 00:00:21 [ksoftirqd/0]\n 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H]\n 6 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:0]\n 7 0.0 0.0 ? S Aug 13 00:00:38 [rcu_preempt]\n 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched]\n 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh]\n 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0]\n 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain]\n 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0]\n 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0]\n 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1]\n 15 0.0 0.0 ? S Aug 13 00:00:02 [watchdog/1]\n 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1]\n 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1]\n 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0]\n 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H]\n 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2]\n 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2]\n 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2]\n 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2]\n 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0]\n 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H]\n 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3]\n 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3]\n 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3]\n 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3]\n 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0]\n 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H]\n 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs]\n 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns]\n 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd]\n 35 0.0 0.0 ? S Aug 13 00:01:05 [khungtaskd2]\n 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper]\n 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback]\n 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0]\n 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto]\n 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd]\n 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd]\n 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff]\n 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller]\n 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task]\n 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd]\n 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd]\n 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl]\n 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod]\n 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod]\n 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0]\n 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat]\n 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod]\n 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd]\n 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme]\n 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd]\n 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf]\n 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq]\n 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-]\n 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver]\n 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H]\n 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0]\n 346 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:2]\n 384 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd\n 413 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f\n 497 0.0 0.0 ? S< Aug 13 00:00:00 [ena]\n 732 0.0 0.0 ? Ss Aug 13 00:01:07 /usr/lib/systemd/systemd-logind\n 734 0.0 0.0 ? Ss Aug 13 00:00:45 /usr/bin/ProcMonitor\n 742 0.0 0.1 ? Ss Aug 13 00:02:21 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation\n 762 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1]\n 777 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground\n 797 0.0 0.0 ? Ss Aug 13 00:00:12 /usr/sbin/crond -n\n 812 0.0 0.0 ? S<s Aug 13 00:00:18 /usr/bin/wdogdev -t 60\n 823 0.0 0.0 ? Ss Aug 13 00:00:03 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid\n 951 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local\n 953 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 979 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys\n 981 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 990 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure\n 991 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1043 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil\n 1048 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon\n 1163 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1164 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1197 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm\n 1238 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1240 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1254 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master\n 1462 0.0 0.0 ? S Aug 13 00:08:45 /usr/bin/EosOomAdjust\n 1470 0.0 0.0 ? S Aug 13 00:00:15 [rbfd_vrf_cleanu]\n 1485 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid\n 1522 0.0 0.0 ? S Aug 13 00:02:04 /usr/bin/SlabMonitor\n 1523 0.0 2.5 ? S Aug 13 00:29:27 Sysdb\n 1565 0.0 1.2 ? S Aug 13 00:00:35 StageMgr\n 1570 0.0 1.4 ? S Aug 13 00:01:26 Fru\n 1571 0.0 1.8 ? S Aug 13 00:00:32 Launcher\n 1694 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=275501144304,275500693129,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp\n 1695 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1696 0.0 1.2 ? S Aug 13 00:07:30 Lldp\n 1699 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=275605242171,275551678101,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon\n 1700 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H]\n 1702 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1704 0.0 1.2 ? S Aug 13 00:02:56 McastCommon\n 1708 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=275773786218,275650165758,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec\n 1711 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1712 0.0 1.1 ? S Aug 13 00:01:46 PortSec\n 1721 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=279574021921,279385129478,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd\n 1722 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1723 0.0 1.4 ? S Aug 13 00:03:30 Bfd\n 1724 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=280109105290,280107199461,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag\n 1726 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1727 0.0 1.3 ? S Aug 13 00:13:50 Lag\n 1729 0.0 1.7 ? S Aug 13 00:28:05 SuperServer\n 1732 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=283892362299,283880109624,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira\n 1733 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1734 0.0 1.5 ? S Aug 13 00:03:01 Ira\n 1736 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=288108381572,287775061276,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy\n 1737 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1738 0.0 1.1 ? S Aug 13 00:02:22 LedPolicy\n 1739 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=288299247450,288179510165,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr\n 1740 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1741 0.0 1.3 ? S Aug 13 00:06:07 EventMgr\n 1743 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=288579662140,288395482866,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx\n 1744 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1745 0.0 1.2 ? S Aug 13 00:21:15 StpTxRx\n 1746 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=292115254711,288676120489,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld\n 1747 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1749 0.0 1.1 ? S Aug 13 00:00:31 StandbyCpld\n 1750 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=292267583010,292186647304,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor\n 1751 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1753 0.0 1.0 ? S Aug 13 00:31:46 AgentMonitor\n 1754 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=292421762940,292330626218,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel\n 1755 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1756 0.0 1.2 ? S Aug 13 00:01:11 Tunnel\n 1757 0.0 1.5 ? Sl Aug 13 00:06:26 Aaa\n 1759 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=292808046113,292716319651,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology\n 1760 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1761 0.0 1.2 ? S Aug 13 00:02:48 StpTopology\n 1762 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=296523011761,292995169616,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl\n 1763 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1764 0.0 1.4 ? S Aug 13 00:15:47 Acl\n 1771 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=297041265896,296648985313,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp\n 1773 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1774 0.0 1.1 ? S Aug 13 00:03:57 Stp\n 1778 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=297164816515,297132428879,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo\n 1780 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1782 0.0 1.1 ? S Aug 13 00:01:47 KernelNetworkInfo\n 1786 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=300924273292,300805414611,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6\n 1793 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1800 0.0 1.2 ? S Aug 13 00:02:33 McastCommon6\n 1806 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=301369414784,301079967103,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent\n 1810 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1813 0.0 1.2 ? S Aug 13 00:02:45 LacpTxAgent\n 1825 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=305150183208,301517231056,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp\n 1827 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1830 0.0 1.5 ? S Aug 13 00:03:42 Arp\n 1845 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=305766616581,305331306787,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib\n 1849 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1850 0.0 1.4 ? S Aug 13 00:02:49 KernelFib\n 1855 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=305914666962,305891078210,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos\n 1861 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1863 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=310155317299,310146122555,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat\n 1866 0.0 1.2 ? S Aug 13 00:02:10 Qos\n 1869 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1872 0.0 1.1 ? S Aug 13 00:01:47 Thermostat\n 1876 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=313651175211,310235138896,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib\n 1880 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1883 0.0 1.2 ? S Aug 13 00:00:57 L2Rib\n 1885 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=313910588628,313716056362,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled\n 1886 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1887 0.0 1.2 ? S Aug 13 00:01:24 TopoAgent\n 1889 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=314257465954,313997347978,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse\n 1890 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1892 0.0 1.0 ? S Aug 13 00:00:30 PowerFuse\n 1893 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=314448379045,314392881768,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager\n 1894 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1895 0.0 1.1 ? S Aug 13 00:00:31 PowerManager\n 1896 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=318077978536,317883825927,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra\n 1900 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1905 0.0 1.4 ? S Aug 13 00:05:18 Ebra\n 1913 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=318598602805,318228924536,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent\n 1914 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1916 0.0 1.1 ? S Aug 13 00:00:30 ReloadCauseAgent\n 1918 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=318762514420,318696297345,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile\n 1920 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1922 0.0 1.0 ? S Aug 13 00:00:30 SharedSecretProfile\n 1923 0.0 1.5 ? S Aug 13 00:02:52 IgmpSnooping\n 1933 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=322651195162,322650789524,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled\n 1934 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1935 0.0 1.3 ? S Aug 13 00:01:47 StaticRoute\n 1937 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=322914040580,322748011657,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled\n 1938 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1940 0.0 1.6 ? S Aug 13 00:06:58 IpRib\n 1943 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=326588334299,323000468604,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled\n 1944 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1945 0.0 1.8 ? S Aug 13 00:01:51 BgpCliHelper\n 1949 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=326677503453,326675454310,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute\n 1953 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1957 0.0 1.3 ? S Aug 13 00:03:06 ConnectedRoute\n 1964 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=327312488625,326986790248,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput\n 1965 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1966 0.0 1.3 ? S Aug 13 00:01:49 RouteInput\n 1974 0.0 2.2 ? Sl Aug 13 00:09:16 Bgp\n 2002 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=331509489560,331172745644,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe\n 2008 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2286 0.0 0.0 ? Ssl Aug 13 00:00:23 /usr/sbin/rsyslogd -n\n 2340 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq\n 2602 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=378753852405,378753400392,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager\n 2603 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2605 0.0 1.1 ? S Aug 13 00:00:33 LicenseManager\n 2656 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd\n 2657 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux\n 2658 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0\n 2664 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2656 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'\n 2667 0.0 0.0 ? S Aug 13 00:00:17 /usr/bin/tail -n 0 --retry --follow=name --pid=2656 /var/log/eos-console\n 2668 0.0 0.0 ? S Aug 13 00:00:00 sed s/\\(.*\\)/\\1\\r/\n 2707 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct>\n 2734 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=399762211162,399761786247,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec\n 2735 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2736 0.0 1.2 ? S Aug 13 00:07:54 Ipsec\n 2739 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1\n 2766 0.0 0.1 ? Ssl Aug 13 00:00:49 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid\n 2770 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc\n 3341 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon\n 3343 0.0 0.1 ? Ssl Aug 13 00:01:19 /usr/libexec/strongswan/charon --use-syslog\n 6525 0.0 0.0 ? S 16:27:00 00:00:00 [kworker/0:0]\n 8662 0.0 0.0 ? S Sep 02 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh\n 9288 0.0 0.0 ? Rs 16:32:50 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww\n18367 0.0 0.0 ? S Aug 14 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=665682214635995,665682214376331,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini\n18368 0.0 0.3 ? Ss Aug 14 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n18369 0.0 1.3 ? Sl Aug 14 00:01:39 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n18413 0.0 0.0 ? Ss Aug 14 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;\n18415 0.0 0.1 ? S Aug 14 00:01:19 nginx: worker process \n30446 0.0 0.0 ? S 15:58:00 00:00:00 [kworker/0:4]\n31262 0.0 0.0 ? S 16:10:00 00:00:00 [kworker/0:2]\n"}, 'show running-config section username': {'json': {'output': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'text': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'show aaa counters': {'json': {'authenticationSuccess': 82090, 'authorizationAllowed': 800, 'accountingSuccess': 0, 'pendingAccountingRequests': 0, 'authorizationDenied': 0, 'authenticationFail': 0, 'authenticationUnavailable': 102, 'accountingError': 0, 'authorizationUnavailable': 0}, 'text': 'Authentication\n Successful: 82093\n Failed: 0\n Service unavailable: 102\n\nAuthorization\n Allowed: 800\n Denied: 0\n Service unavailable: 0\n\nAccounting\n Successful: 0\n Error: 0\n Pending: 0\n\nLast time counters were cleared: never\n'}, 'show users detail': {'json': {'serials': {}, 'nonInteractives': {'82219': {'username': 'kgrozis', 'state': 'established', 'sessionStartTime': 1599669160, 'role': '', 'service': 'commandApi', 'authMethod': 'local'}}, 'vtys': {}}, 'text': 'Session Username Roles TTY State Duration Auth Remote Host \n-------- --------- ------- ------------- ------- ---------- ------- ----------- \n82219 kgrozis command-api E 0:00:13 local \n'}, 'show aaa methods all': {'json': {'authorization': {'commandsAuthzMethods': {'privilege0-15': {'methods': ['none']}}, 'execAuthzMethods': {'exec': {'methods': ['none']}}}, 'authentication': {'loginAuthenMethods': {'default': {'methods': ['local']}}, 'dot1xAuthenMethods': {'default': {'methods': []}}, 'enableAuthenMethods': {'default': {'methods': ['local']}}}, 'accounting': {'systemAcctMethods': {'system': {'defaultMethods': [], 'consoleMethods': []}}, 'execAcctMethods': {'exec': {'defaultMethods': [], 'consoleMethods': []}}, 'commandsAcctMethods': {'privilege0-15': {'defaultMethods': [], 'consoleMethods': []}}, 'dot1xAcctMethods': {'dot1x': {'defaultMethods': [], 'consoleMethods': []}}}}, 'text': 'Authentication method lists for LOGIN:\n name=default methods=local\nAuthentication method list for ENABLE:\n name=default methods=local\nAuthentication method list for DOT1X:\n name=default methods=\nAuthorization method lists for COMMANDS:\n name=privilege0-15 methods=none\nAuthorization method list for EXEC:\n name=exec methods=none\nAccounting method lists for COMMANDS:\n name=privilege0-15 default-action=none\nAccounting method list for EXEC:\n name=exec default-action=none\nAccounting method list for SYSTEM:\n name=system default-action=none\nAccounting method list for DOT1X:\n name=dot1x default-action=none\n'}, 'show ntp status': {'json': {'status': 'synchronised', 'pollingInterval': 1024, 'stratum': 4, 'maxEstimatedError': 26, 'server': '169.254.169.123'}, 'text': 'synchronised to NTP server (169.254.169.123) at stratum 4\n time correct to within 26 ms\n polling server every 1024 s\n\n'}, 'show ntp associations': {'json': {'peers': {'169.254.169.123': {'delay': 0.108, 'jitter': 0.503, 'lastReceived': 1599668510.0, 'peerType': 'local', 'reachabilityHistory': [True, True, True, True, True, True, True, True], 'condition': 'sys.peer', 'offset': 0.448, 'peerIpAddr': '169.254.169.123', 'pollInterval': 1024, 'refid': '169.254.169.122', 'stratumLevel': 3}}}, 'text': ' remote refid st t when poll reach delay offset jitter\n==============================================================================\n*169.254.169.123 169.254.169.12 3 l 666 1024 377 0.108 0.448 0.503\n'}, 'show daemon': {'json': {'daemons': {'TerminAttr': {'running': True, 'option': {}, 'starttime': 1597281524.1335511, 'pid': 1714, 'enabled': True, 'uptime': 2387652.8499999996, 'data': {}, 'isSdkAgent': False}}}, 'text': 'Process: TerminAttr (running with PID 1714)\nUptime: 27 days, 15:14:13 (Start time: Thu Aug 13 01:18:44 2020)\nNo configuration options stored.\n\nNo status data stored.\n\n'}, 'show zerotouch': {'json': {'mode': 'disabled', 'scriptTimeout': 900}, 'text': '\nZeroTouch Mode: Disabled\nScript Exec Timeout: 900\n'}, 'dir flash:zerotouch-config': {'json': {'messages': ['Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7293403136 bytes free)\n']}, 'text': 'Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7293403136 bytes free)\n'}, 'show system environment temperature': {'json': {'cardSlots': [], 'powerSupplySlots': [], 'shutdownOnOverheat': True, 'tempSensors': [], 'systemStatus': 'unknownTemperatureAlarmLevel'}, 'text': 'System temperature status is: Unknown\n'}, 'show system environment cooling': {'json': {'overrideFanSpeed': 0, 'coolingMode': 'automatic', 'powerSupplySlots': [], 'fanTraySlots': [], 'minFanSpeed': 0, 'shutdownOnInsufficientFans': True, 'systemStatus': 'unknownCoolingAlarmLevel', 'airflowDirection': 'unknownAirflowDirection'}, 'text': 'System cooling status is: Unknown\nAmbient temperature: Unknown\n Config Actual Speed Stable\nFan Status Speed Speed Uptime Stability Uptime\n--- ------ ------ ------ ------ --------- ------\n'}, 'show management api http-commands': {'json': {'httpServer': {'running': False, 'configured': False, 'port': 80}, 'users': {'kgrozis': {'requestCount': 75231, 'bytesOut': 194403167, 'lastHitTime': 1599669178.3961782, 'bytesIn': 12161050}}, 'bytesOut': 194403167, 'logLevel': 'none', 'dscpValue': 0, 'corsOrigins': [], 'hitCount': 80133, 'vrf': 'default', 'lastHitTime': 1599669178.396148, 'tlsProtocol': ['1.0', '1.1', '1.2'], 'localHttpServer': {'running': False, 'configured': False, 'port': 8080}, 'executionTime': 6393.847301007394, 'enabled': True, 'fipsEnabled': False, 'httpsServer': {'running': True, 'configured': True, 'port': 443}, 'requestCount': 75231, 'vrfs': ['default'], 'urls': ['Ethernet1 : https://11.201.13.101:443', 'Ethernet100 : https://11.201.8.1:443', 'Loopback0 : https://11.201.0.4:443', 'Loopback10 : https://198.18.0.38:443'], 'unixSocketServer': {'running': False, 'configured': False}, 'bytesIn': 12161050, 'commandCount': 150462, 'iframeAncestors': []}, 'text': 'Enabled: Yes\nHTTPS server: running, set to use port 443\nHTTP server: shutdown, set to use port 80\nLocal HTTP server: shutdown, no authentication, set to use port 8080\nUnix Socket server: shutdown, no authentication\nVRFs: default\nHits: 80137\nLast hit: 0 seconds ago\nBytes in: 12161686\nBytes out: 194405820\nRequests: 75235\nCommands: 150470\nDuration: 6393.882 seconds\nSSL Profile: none\nFIPS Mode: No\nQoS DSCP: 0\nLog Level: none\nCSP Frame Ancestor: None\nTLS Protocols: 1.0 1.1 1.2\n User Requests Bytes in Bytes out Last hit \n------------- -------------- -------------- --------------- ------------- \n kgrozis 75235 12161686 194405820 0 seconds ago \n\nURLs \n--------------------------------------- \nEthernet1 : https://11.201.13.101:443 \nEthernet100 : https://11.201.8.1:443 \nLoopback0 : https://11.201.0.4:443 \nLoopback10 : https://198.18.0.38:443 \n\n'}, 'show tacacs': {'json': {'tacacsServers': [], 'groups': {}, 'srcIntf': {}, 'lastCounterClearTime': 0.0}, 'text': '\nLast time counters were cleared: never\n'}, 'show logging': {'json': {'output': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:19 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:23 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:31 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:27 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:32 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:10 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:18 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:27 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:42 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:48 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:56 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:36 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:41 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:49 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:46 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:55 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:07 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:12 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:21 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:08 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:12 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:20 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}, 'text': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:19 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:23 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:31 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:27 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:32 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:10 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:18 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:27 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:42 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:48 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:56 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:36 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:41 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:49 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:46 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:55 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:07 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:12 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:21 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:08 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:12 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:20 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEosRR2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}}} test_name: test_if_files_on_ test_parameters: {'parameters': {'show_log': 'show_output.log'}} INFO root:tests_tools.py:250 Return model data and text output from show commands and log text output for show file information flash:zerotouch-config with connnection Node(connection=EapiConnection(transport=https://3.131.6.163:443//command-api)) INFO root:tests_tools.py:254 Raw json output of show file information flash:zerotouch-config on dut kg-topology-CloudEosRR2: [{'command': 'show file information flash:zerotouch-config', 'result': {'isDir': False, 'path': 'flash:/zerotouch-config', 'fileName': '/mnt/flash/zerotouch-config'}, 'encoding': 'json'}] INFO root:tests_tools.py:257 Raw text output of show file information flash:zerotouch-config on dut kg-topology-CloudEosRR2: [{'output': 'flash:/zerotouch-config:\n type is file\n'}] INFO root:tests_tools.py:311 Open log file for logging test show commands INFO root:tests_tools.py:315 Opening file show_output.log and append show output: flash:/zerotouch-config: type is file INFO root:test_filesystem.py:80 WHEN flash:zerotouch-config file isDir state is |False| INFO root:test_filesystem.py:84 THEN test case result is |True| INFO root:test_filesystem.py:85 OUTPUT of |show file information flash:zerotouch-config| is : [{'output': 'flash:/zerotouch-config:\n type is file\n'}] | ||||
| Passed | kg-topology-CloudEosRR2 | tests/aaa/test_aaa.py::AAATests::test_if_dot1x_authentication_methods_set_on_[kg-topology-CloudEosRR2] | Verify AAA dot1x authentication are method-lists set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| AAA authentication methods for dot1x default: |[]| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_dot1x_authentication_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEosRR2 INFO root:test_aaa.py:364 TEST is dot1x authentication methods list set correct on |kg-topology-CloudEosRR2| INFO root:test_aaa.py:366 GIVEN dot1x authentication method list: |[]| INFO root:test_aaa.py:370 WHEN EOS dot1x authentication method list is set to |[]| INFO root:test_aaa.py:374 THEN test case result is |True| INFO root:test_aaa.py:375 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEosRR2 | tests/ntp/test_ntp.py::NTPTests::test_if_ntp_is_synchronized_on_[kg-topology-CloudEosRR2] | Verify ntp is synchronzied | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| NTP synchronized status is: |True| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_ntp.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_ntp_is_synchronized_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show ntp status| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show ntp status| on kg-topology-CloudEosRR2 INFO root:test_ntp.py:70 TEST is NTP synchronized on |kg-topology-CloudEosRR2| INFO root:test_ntp.py:71 GIVEN NTP synchronized is |True| INFO root:test_ntp.py:77 WHEN NTP configuration file is |True| INFO root:test_ntp.py:80 THEN test case result is |True| INFO root:test_ntp.py:81 OUTPUT of |show ntp status| is : synchronised to NTP server (169.254.169.123) at stratum 4 time correct to within 26 ms polling server every 1024 s | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/aaa/test_aaa.py::AAATests::test_if_login_authentication_methods_set_on_[kg-topology-CloudEOSEdge1] | Verify AAA login authentication are method-lists set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_login_authentication_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEOSEdge1 INFO root:test_aaa.py:313 TEST is login authentication methods list set correct on |kg-topology-CloudEOSEdge1| INFO root:test_aaa.py:315 GIVEN login authentication method list: |None| INFO root:test_aaa.py:332 WHEN EOS login authentication method list is set to |None| INFO root:test_aaa.py:334 THEN test case result is |True| INFO root:test_aaa.py:335 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEosRR2 | tests/host/test_host.py::HostTests::test_if_hostname_is_correcet_on_[kg-topology-CloudEosRR2] | Verify hostname is set on device is correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| the configured hostname is |kg-topology-CloudEosRR2| and the correct hostname is |kg-topology-CloudEosRR2| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_host.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_hostname_is_correcet_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show hostname| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show hostname| on kg-topology-CloudEosRR2 INFO root:test_host.py:72 TEST is hostname kg-topology-CloudEosRR2 correct INFO root:test_host.py:73 GIVEN hostname kg-topology-CloudEosRR2 INFO root:test_host.py:74 WHEN hostname is kg-topology-CloudEosRR2 INFO root:test_host.py:81 THEN test case result is |False| INFO root:test_host.py:82 OUTPUT of |show hostname| is : Hostname: kg-topology-CloudEosRR2 FQDN: kg-topology-CloudEosRR2 | ||||
| Passed | kg-topology-CloudEosRR2 | tests/ntp/test_ntp.py::NTPTests::test_if_ntp_associated_with_peers_on_[kg-topology-CloudEosRR2] | Verify ntp peers are correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| has |1| NTP peer associations -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_ntp.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_ntp_associated_with_peers_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show ntp associations| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show ntp associations| on kg-topology-CloudEosRR2 INFO root:test_ntp.py:104 TEST is NTP associations with peers on |kg-topology-CloudEosRR2| INFO root:test_ntp.py:105 GIVEN NTP associated are greater than or equal to |1| INFO root:test_ntp.py:112 WHEN NTP associated peers fare |1| INFO root:test_ntp.py:115 THEN test case result is |True| INFO root:test_ntp.py:116 OUTPUT of |show ntp associations| is : remote refid st t when poll reach delay offset jitter ============================================================================== *169.254.169.123 169.254.169.12 3 l 666 1024 377 0.108 0.448 0.503 | ||||
| Passed | kg-topology-CloudEosRR2 | tests/aaa/test_aaa.py::AAATests::test_if_enable_authentication_methods_set_on_[kg-topology-CloudEosRR2] | Verify AAA enable authentication method-lists are set correct | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| AAA authentication methods for enable default: |['local']| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_enable_authentication_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True} INFO root:test_aaa.py:403 TEST is enable authentication methods list set correct on |kg-topology-CloudEosRR2| INFO root:test_aaa.py:405 GIVEN enable authentication method list: |['local']| INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEosRR2 INFO root:test_aaa.py:417 WHEN EOS enable authentication method list is set to |['local']| INFO root:test_aaa.py:421 THEN test case result is |True| INFO root:test_aaa.py:422 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/aaa/test_aaa.py::AAATests::test_if_dot1x_authentication_methods_set_on_[kg-topology-CloudEOSEdge1] | Verify AAA dot1x authentication are method-lists set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| AAA authentication methods for dot1x default: |[]| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_dot1x_authentication_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEOSEdge1 INFO root:test_aaa.py:364 TEST is dot1x authentication methods list set correct on |kg-topology-CloudEOSEdge1| INFO root:test_aaa.py:366 GIVEN dot1x authentication method list: |[]| INFO root:test_aaa.py:370 WHEN EOS dot1x authentication method list is set to |[]| INFO root:test_aaa.py:374 THEN test case result is |True| INFO root:test_aaa.py:375 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEosRR2 | tests/ztp/test_ztp.py::ZTPTests::test_if_zerotouch_is_disabled_on_[kg-topology-CloudEosRR2] | Verify ztp is disabled | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| ZTP process is in mode: |disabled| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_ztp.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_zerotouch_is_disabled_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show zerotouch| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show zerotouch| on kg-topology-CloudEosRR2 INFO root:test_ztp.py:71 TEST is ZTP disabled on |kg-topology-CloudEosRR2| INFO root:test_ztp.py:72 GIVEN ZTP state is |disabled| INFO root:test_ztp.py:78 WHEN ZTP state is |disabled| INFO root:test_ztp.py:81 THEN test case result is |True| INFO root:test_ztp.py:82 OUTPUT of |show zerotouch| is : ZeroTouch Mode: Disabled Script Exec Timeout: 900 | ||||
| Passed | kg-topology-CloudEosRR2 | tests/ntp/test_ntp.py::NTPTests::test_if_process_is_running_on_[kg-topology-CloudEosRR2] | Verify ntp processes are running | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| has |1| process for ntpd -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_ntp.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_process_is_running_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show processes| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show processes| on kg-topology-CloudEosRR2 INFO root:test_ntp.py:148 TEST is ntpd running on |kg-topology-CloudEosRR2| INFO root:test_ntp.py:149 GIVEN ntpd state is |1| INFO root:test_ntp.py:155 WHEN ntpd number is |1| INFO root:test_ntp.py:158 THEN test case result is |True| INFO root:test_ntp.py:159 OUTPUT of |show processes| is : 16:32:52 up 27 days, 15:15, 0 users, load average: 1.48, 1.38, 1.30 PID %CPU %MEM TT STAT STARTED TIME CMD 2009 102 3.4 ? Sl Aug 13 28-06:54:08 Sfe 1714 0.4 1.9 ? Sl Aug 13 02:41:57 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.13.101 -taillogs -grpcaddr=0.0.0.0:6042 8684 0.2 0.7 ? SNl Sep 02 00:23:37 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config 1255 0.1 0.9 ? S Aug 13 01:16:00 ProcMgr-worker 1566 0.1 7.3 ? Sl Aug 13 01:13:26 ConfigAgent 1 0.0 0.0 ? Ss Aug 13 00:03:52 /sbin/init 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd] 3 0.0 0.0 ? S Aug 13 00:00:21 [ksoftirqd/0] 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H] 6 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:0] 7 0.0 0.0 ? S Aug 13 00:00:38 [rcu_preempt] 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched] 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh] 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0] 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain] 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0] 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0] 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1] 15 0.0 0.0 ? S Aug 13 00:00:02 [watchdog/1] 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1] 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1] 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0] 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H] 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2] 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2] 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2] 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2] 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0] 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H] 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3] 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3] 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3] 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3] 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0] 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H] 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs] 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns] 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd] 35 0.0 0.0 ? S Aug 13 00:01:05 [khungtaskd2] 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper] 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback] 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0] 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto] 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd] 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd] 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff] 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller] 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task] 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd] 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd] 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl] 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod] 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod] 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0] 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat] 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod] 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd] 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme] 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd] 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf] 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq] 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-] 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver] 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H] 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0] 346 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:2] 384 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd 413 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f 497 0.0 0.0 ? S< Aug 13 00:00:00 [ena] 732 0.0 0.0 ? Ss Aug 13 00:01:07 /usr/lib/systemd/systemd-logind 734 0.0 0.0 ? Ss Aug 13 00:00:45 /usr/bin/ProcMonitor 742 0.0 0.1 ? Ss Aug 13 00:02:21 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 762 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1] 777 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground 797 0.0 0.0 ? Ss Aug 13 00:00:12 /usr/sbin/crond -n 812 0.0 0.0 ? S<s Aug 13 00:00:18 /usr/bin/wdogdev -t 60 823 0.0 0.0 ? Ss Aug 13 00:00:03 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid 951 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local 953 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 979 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys 981 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 990 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure 991 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1043 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil 1048 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon 1163 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1164 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1197 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm 1238 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1240 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1254 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master 1462 0.0 0.0 ? S Aug 13 00:08:45 /usr/bin/EosOomAdjust 1470 0.0 0.0 ? S Aug 13 00:00:15 [rbfd_vrf_cleanu] 1485 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid 1522 0.0 0.0 ? S Aug 13 00:02:04 /usr/bin/SlabMonitor 1523 0.0 2.5 ? S Aug 13 00:29:27 Sysdb 1565 0.0 1.2 ? S Aug 13 00:00:35 StageMgr 1570 0.0 1.4 ? S Aug 13 00:01:26 Fru 1571 0.0 1.8 ? S Aug 13 00:00:32 Launcher 1694 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=275501144304,275500693129,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp 1695 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1696 0.0 1.2 ? S Aug 13 00:07:30 Lldp 1699 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=275605242171,275551678101,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon 1700 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H] 1702 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1704 0.0 1.2 ? S Aug 13 00:02:56 McastCommon 1708 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=275773786218,275650165758,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec 1711 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1712 0.0 1.1 ? S Aug 13 00:01:46 PortSec 1721 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=279574021921,279385129478,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd 1722 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1723 0.0 1.4 ? S Aug 13 00:03:30 Bfd 1724 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=280109105290,280107199461,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag 1726 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1727 0.0 1.3 ? S Aug 13 00:13:50 Lag 1729 0.0 1.7 ? S Aug 13 00:28:05 SuperServer 1732 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=283892362299,283880109624,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira 1733 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1734 0.0 1.5 ? S Aug 13 00:03:01 Ira 1736 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=288108381572,287775061276,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy 1737 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1738 0.0 1.1 ? S Aug 13 00:02:22 LedPolicy 1739 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=288299247450,288179510165,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr 1740 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1741 0.0 1.3 ? S Aug 13 00:06:07 EventMgr 1743 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=288579662140,288395482866,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx 1744 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1745 0.0 1.2 ? S Aug 13 00:21:15 StpTxRx 1746 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=292115254711,288676120489,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld 1747 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1749 0.0 1.1 ? S Aug 13 00:00:31 StandbyCpld 1750 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=292267583010,292186647304,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor 1751 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1753 0.0 1.0 ? S Aug 13 00:31:46 AgentMonitor 1754 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=292421762940,292330626218,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel 1755 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1756 0.0 1.2 ? S Aug 13 00:01:11 Tunnel 1757 0.0 1.5 ? Sl Aug 13 00:06:26 Aaa 1759 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=292808046113,292716319651,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology 1760 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1761 0.0 1.2 ? S Aug 13 00:02:48 StpTopology 1762 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=296523011761,292995169616,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl 1763 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1764 0.0 1.4 ? S Aug 13 00:15:47 Acl 1771 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=297041265896,296648985313,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp 1773 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1774 0.0 1.1 ? S Aug 13 00:03:57 Stp 1778 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=297164816515,297132428879,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo 1780 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1782 0.0 1.1 ? S Aug 13 00:01:47 KernelNetworkInfo 1786 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=300924273292,300805414611,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6 1793 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1800 0.0 1.2 ? S Aug 13 00:02:33 McastCommon6 1806 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=301369414784,301079967103,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent 1810 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1813 0.0 1.2 ? S Aug 13 00:02:45 LacpTxAgent 1825 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=305150183208,301517231056,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp 1827 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1830 0.0 1.5 ? S Aug 13 00:03:42 Arp 1845 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=305766616581,305331306787,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib 1849 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1850 0.0 1.4 ? S Aug 13 00:02:49 KernelFib 1855 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=305914666962,305891078210,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos 1861 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1863 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=310155317299,310146122555,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat 1866 0.0 1.2 ? S Aug 13 00:02:10 Qos 1869 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1872 0.0 1.1 ? S Aug 13 00:01:47 Thermostat 1876 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=313651175211,310235138896,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib 1880 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1883 0.0 1.2 ? S Aug 13 00:00:57 L2Rib 1885 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=313910588628,313716056362,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled 1886 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1887 0.0 1.2 ? S Aug 13 00:01:24 TopoAgent 1889 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=314257465954,313997347978,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse 1890 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1892 0.0 1.0 ? S Aug 13 00:00:30 PowerFuse 1893 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=314448379045,314392881768,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager 1894 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1895 0.0 1.1 ? S Aug 13 00:00:31 PowerManager 1896 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=318077978536,317883825927,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra 1900 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1905 0.0 1.4 ? S Aug 13 00:05:18 Ebra 1913 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=318598602805,318228924536,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent 1914 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1916 0.0 1.1 ? S Aug 13 00:00:30 ReloadCauseAgent 1918 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=318762514420,318696297345,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile 1920 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1922 0.0 1.0 ? S Aug 13 00:00:30 SharedSecretProfile 1923 0.0 1.5 ? S Aug 13 00:02:52 IgmpSnooping 1933 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=322651195162,322650789524,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled 1934 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1935 0.0 1.3 ? S Aug 13 00:01:47 StaticRoute 1937 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=322914040580,322748011657,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled 1938 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1940 0.0 1.6 ? S Aug 13 00:06:58 IpRib 1943 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=326588334299,323000468604,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled 1944 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1945 0.0 1.8 ? S Aug 13 00:01:51 BgpCliHelper 1949 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=326677503453,326675454310,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute 1953 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1957 0.0 1.3 ? S Aug 13 00:03:06 ConnectedRoute 1964 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=327312488625,326986790248,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput 1965 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1966 0.0 1.3 ? S Aug 13 00:01:49 RouteInput 1974 0.0 2.2 ? Sl Aug 13 00:09:16 Bgp 2002 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=331509489560,331172745644,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe 2008 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2286 0.0 0.0 ? Ssl Aug 13 00:00:23 /usr/sbin/rsyslogd -n 2340 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq 2602 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=378753852405,378753400392,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager 2603 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2605 0.0 1.1 ? S Aug 13 00:00:33 LicenseManager 2656 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd 2657 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux 2658 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0 2664 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2656 /var/log/eos-console | sed 's/\(.*\)/\1\r/' 2667 0.0 0.0 ? S Aug 13 00:00:17 /usr/bin/tail -n 0 --retry --follow=name --pid=2656 /var/log/eos-console 2668 0.0 0.0 ? S Aug 13 00:00:00 sed s/\(.*\)/\1\r/ 2707 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct> 2734 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=399762211162,399761786247,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec 2735 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2736 0.0 1.2 ? S Aug 13 00:07:54 Ipsec 2739 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1 2766 0.0 0.1 ? Ssl Aug 13 00:00:49 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid 2770 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc 3341 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon 3343 0.0 0.1 ? Ssl Aug 13 00:01:19 /usr/libexec/strongswan/charon --use-syslog 6525 0.0 0.0 ? S 16:27:00 00:00:00 [kworker/0:0] 8662 0.0 0.0 ? S Sep 02 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh 9296 0.0 0.0 ? Rs 16:32:51 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww 18367 0.0 0.0 ? S Aug 14 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=665682214635995,665682214376331,tbl://sysdb/+n,Sysdb (pid:1523) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini 18368 0.0 0.3 ? Ss Aug 14 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 18369 0.0 1.3 ? Sl Aug 14 00:01:39 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 18413 0.0 0.0 ? Ss Aug 14 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid; 18415 0.0 0.1 ? S Aug 14 00:01:19 nginx: worker process 30446 0.0 0.0 ? S 15:58:00 00:00:00 [kworker/0:4] 31262 0.0 0.0 ? S 16:10:00 00:00:00 [kworker/0:2] | ||||
| Passed | kg-topology-CloudEosRR2 | tests/aaa/test_aaa.py::AAATests::test_if_system_accounting_methods_set_on_[kg-topology-CloudEosRR2] | Verify AAA system accounting method-lists are set correct | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| AAA accounting methods for default: |[]| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_system_accounting_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:test_aaa.py:448 TEST is system accounting methods list set correct on |kg-topology-CloudEosRR2| INFO root:test_aaa.py:450 GIVEN default system accounting method list: |[]| and console system accounting methodlist: |[]| INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEosRR2 INFO root:test_aaa.py:466 WHEN default system accounting method list: |[]| and console system accounting method list: |[]| INFO root:test_aaa.py:471 THEN test case result is |True| INFO root:test_aaa.py:472 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/aaa/test_aaa.py::AAATests::test_if_enable_authentication_methods_set_on_[kg-topology-CloudEOSEdge1] | Verify AAA enable authentication method-lists are set correct | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| AAA authentication methods for enable default: |['local']| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_enable_authentication_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True} INFO root:test_aaa.py:403 TEST is enable authentication methods list set correct on |kg-topology-CloudEOSEdge1| INFO root:test_aaa.py:405 GIVEN enable authentication method list: |['local']| INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEOSEdge1 INFO root:test_aaa.py:417 WHEN EOS enable authentication method list is set to |['local']| INFO root:test_aaa.py:421 THEN test case result is |True| INFO root:test_aaa.py:422 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEosRR2 | tests/ztp/test_ztp.py::ZTPTests::test_for_zerotouch_config_file_on_[kg-topology-CloudEosRR2] | Verify zerotoucn-config file is on flash | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| ZTP configuration file is on flash: |True| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_ztp.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_for_zerotouch_config_file_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |dir flash:zerotouch-config| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |dir flash:zerotouch-config| on kg-topology-CloudEosRR2 INFO root:test_ztp.py:106 TEST is ZTP configuration file is on |kg-topology-CloudEosRR2| INFO root:test_ztp.py:107 GIVEN ZTP configuration file is |True| INFO root:test_ztp.py:113 WHEN ZTP configuration file is |True| INFO root:test_ztp.py:116 THEN test case result is |True| INFO root:test_ztp.py:117 OUTPUT of |dir flash:zerotouch-config| is : Directory of flash:/zerotouch-config -rw- 13 Mar 30 23:38 zerotouch-config 8319852544 bytes total (7293403136 bytes free) | ||||
| Passed | kg-topology-CloudEosRR2 | tests/tacacs/test_tacacs.py::TacacsTests::test_if_tacacs_is_sending_messages_on_[kg-topology-CloudEosRR2] | Verify tacacs messages are sending correctly | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| does not have TACACS servers configured -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_tacacs.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_tacacs_is_sending_messages_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show tacacs| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show tacacs| on kg-topology-CloudEosRR2 INFO root:tests_tools.py:377 Verify if tacacs server(s) are configured on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:383 0 tacacs serverws are configured so returning False INFO root:test_tacacs.py:73 TEST is |kg-topology-CloudEosRR2| sending messages to TACACS server | ||||
| Passed | kg-topology-CloudEosRR2 | tests/aaa/test_aaa.py::AAATests::test_if_exec_accounting_methods_set_on_[kg-topology-CloudEosRR2] | Verify AAA exec accounting method-lists are set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| AAA accounting exec methods for console: |[]| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_exec_accounting_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:test_aaa.py:496 TEST is exec accounting methods list set correct on |kg-topology-CloudEosRR2| INFO root:test_aaa.py:498 GIVEN exec system accounting method list: |[]| and exec system accounting methodlist: |[]| INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEosRR2 INFO root:test_aaa.py:514 WHEN default exec accounting method list: |[]| and console exec accounting methodlist: |[]| INFO root:test_aaa.py:519 THEN test case result is |True| INFO root:test_aaa.py:520 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/aaa/test_aaa.py::AAATests::test_if_system_accounting_methods_set_on_[kg-topology-CloudEOSEdge1] | Verify AAA system accounting method-lists are set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| AAA accounting methods for default: |[]| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_system_accounting_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:test_aaa.py:448 TEST is system accounting methods list set correct on |kg-topology-CloudEOSEdge1| INFO root:test_aaa.py:450 GIVEN default system accounting method list: |[]| and console system accounting methodlist: |[]| INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEOSEdge1 INFO root:test_aaa.py:466 WHEN default system accounting method list: |[]| and console system accounting method list: |[]| INFO root:test_aaa.py:471 THEN test case result is |True| INFO root:test_aaa.py:472 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/aaa/test_aaa.py::AAATests::test_if_aaa_session_logging_is_working_on_[kg-topology-CloudEOSEdge1] | Verify AAA session logging is working by identifying eapi connection | 0.03 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| identified eAPi AAA session: |commandApi| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_aaa_session_logging_is_working_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show users detail| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show users detail| on kg-topology-CloudEOSEdge1 INFO root:test_aaa.py:130 TEST is |kg-topology-CloudEOSEdge1| AAA session logging is working by identifying eapi connection INFO root:test_aaa.py:138 GIVEN commandApi is nonInteractive sessions INFO root:test_aaa.py:139 WHEN commandApi is nonInteractive sessions INFO root:test_aaa.py:154 THEN test case result is |True| INFO root:test_aaa.py:155 OUTPUT of |show users detail| is : Session Username Roles TTY State Duration Auth Remote Host -------- --------- ------- ------------- ------- ---------- ------- ----------- 76079 kgrozis command-api E 0:00:13 local | ||||
| Passed | kg-topology-CloudEosRR2 | tests/tacacs/test_tacacs.py::TacacsTests::test_if_tacacs_is_receiving_messages_on_[kg-topology-CloudEosRR2] | Verify tacacs messages are received correctly | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| does not have TACACS servers configured -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_tacacs.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_tacacs_is_receiving_messages_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show tacacs| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show tacacs| on kg-topology-CloudEosRR2 INFO root:tests_tools.py:377 Verify if tacacs server(s) are configured on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:383 0 tacacs serverws are configured so returning False INFO root:test_tacacs.py:136 TEST is |kg-topology-CloudEosRR2| receiving messages to TACACS server | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/aaa/test_aaa.py::AAATests::test_if_exec_accounting_methods_set_on_[kg-topology-CloudEOSEdge1] | Verify AAA exec accounting method-lists are set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| AAA accounting exec methods for console: |[]| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_exec_accounting_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:test_aaa.py:496 TEST is exec accounting methods list set correct on |kg-topology-CloudEOSEdge1| INFO root:test_aaa.py:498 GIVEN exec system accounting method list: |[]| and exec system accounting methodlist: |[]| INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEOSEdge1 INFO root:test_aaa.py:514 WHEN default exec accounting method list: |[]| and console exec accounting methodlist: |[]| INFO root:test_aaa.py:519 THEN test case result is |True| INFO root:test_aaa.py:520 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEosRR2 | tests/aaa/test_aaa.py::AAATests::test_if_priviledge_accounting_methods_set_on_[kg-topology-CloudEosRR2] | Verify AAA priviledge accounting method-lists are set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| AAA accounting exec methods for console: |[]| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_priviledge_accounting_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:test_aaa.py:546 TEST is priviledge accounting methods list set correct on |kg-topology-CloudEosRR2| INFO root:test_aaa.py:548 GIVEN priviledge system accounting method list: |[]| and priviledge system accounting method list: |[]| INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEosRR2 INFO root:test_aaa.py:564 WHEN default privilege accounting method list: |[]| and console privilege accounting method list: |[]| INFO root:test_aaa.py:569 THEN test case result is |True| INFO root:test_aaa.py:570 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/aaa/test_aaa.py::AAATests::test_if_commands_authorization_methods_set_on_[kg-topology-CloudEOSEdge1] | Verify AAA command authorization are method-lists set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| AAA authorization methods for fcommands: |['none']| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_commands_authorization_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEOSEdge1 INFO root:test_aaa.py:184 TEST is command authorization methods list set correct on |kg-topology-CloudEOSEdge1| INFO root:test_aaa.py:186 GIVEN command authorization method list: |['none']| INFO root:test_aaa.py:190 WHEN EOS command authorization method list is set to |['none']| INFO root:test_aaa.py:194 THEN test case result is |True| INFO root:test_aaa.py:195 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEosRR2 | tests/users/test_users.py::UsersTests::test_if_usernames_are_configured_on_[kg-topology-CloudEosRR2] | Verify username is set correctly | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEosRR2| |ec2-user| username is |configured| On router |kg-topology-CloudEosRR2| |kgrozis| username is |configured| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_users.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_usernames_are_configured_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show running-config section username| was successfully executed on kg-topology-CloudEosRR2 dut INFO root:tests_tools.py:360 Verified output for show command |show running-config section username| on kg-topology-CloudEosRR2 INFO root:test_users.py:74 TEST is ec2-user username configured |kg-topology-CloudEosRR2| INFO root:test_users.py:76 GIVEN ec2-user username configured status: |True| INFO root:test_users.py:82 WHEN ec2-user username configured status is |True| INFO root:test_users.py:84 THEN test case result is |True| INFO root:test_users.py:85 OUTPUT of |show running-config section username| is : no username admin ! username ec2-user nopassword username ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2 username kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f. INFO root:test_users.py:74 TEST is kgrozis username configured |kg-topology-CloudEosRR2| INFO root:test_users.py:76 GIVEN kgrozis username configured status: |True| INFO root:test_users.py:82 WHEN kgrozis username configured status is |True| INFO root:test_users.py:84 THEN test case result is |True| INFO root:test_users.py:85 OUTPUT of |show running-config section username| is : no username admin ! username ec2-user nopassword username ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2 username kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f. | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/api/test_api.py::APITests::test_if_management_https_api_server_is_enabled_on_[kg-topology-CloudEOSEdge1] | Verify management api https server is enabled | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |{dut_name}| API is enabled state: |True| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_api.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_management_https_api_server_is_enabled_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True} INFO root:test_api.py:142 TEST is HTTPS API enabled on |kg-topology-CloudEOSEdge1| INFO root:test_api.py:143 GIVEN HTTPS API enabled is |True| INFO root:tests_tools.py:356 Verify if show command |show management api http-commands| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show management api http-commands| on kg-topology-CloudEOSEdge1 INFO root:test_api.py:152 WHEN HTTPS API enabled is |True| INFO root:test_api.py:155 THEN test case result is |True| INFO root:test_api.py:156 OUTPUT of |show management api http-commands| is : Enabled: Yes HTTPS server: running, set to use port 443 HTTP server: shutdown, set to use port 80 Local HTTP server: shutdown, no authentication, set to use port 8080 Unix Socket server: shutdown, no authentication VRFs: default Hits: 71700 Last hit: 0 seconds ago Bytes in: 10886175 Bytes out: 194829444 Requests: 67299 Commands: 134598 Duration: 6065.473 seconds SSL Profile: none FIPS Mode: No QoS DSCP: 0 Log Level: none CSP Frame Ancestor: None TLS Protocols: 1.0 1.1 1.2 User Requests Bytes in Bytes out Last hit ------------- -------------- -------------- --------------- ------------- kgrozis 67299 10886175 194829444 0 seconds ago URLs --------------------------------------- Ethernet1 : https://11.201.14.101:443 Ethernet2 : https://11.201.14.201:443 Ethernet100 : https://11.201.8.1:443 Loopback0 : https://11.201.0.1:443 Loopback10 : https://198.18.0.35:443 | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/aaa/test_aaa.py::AAATests::test_if_priviledge_accounting_methods_set_on_[kg-topology-CloudEOSEdge1] | Verify AAA priviledge accounting method-lists are set correct | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| AAA accounting exec methods for console: |[]| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_priviledge_accounting_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:test_aaa.py:546 TEST is priviledge accounting methods list set correct on |kg-topology-CloudEOSEdge1| INFO root:test_aaa.py:548 GIVEN priviledge system accounting method list: |[]| and priviledge system accounting method list: |[]| INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEOSEdge1 INFO root:test_aaa.py:564 WHEN default privilege accounting method list: |[]| and console privilege accounting method list: |[]| INFO root:test_aaa.py:569 THEN test case result is |True| INFO root:test_aaa.py:570 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/aaa/test_aaa.py::AAATests::test_if_exec_authorization_methods_set_on_[kg-topology-CloudEOSEdge1] | Verify AAA exec authorization are method-lists set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| AAA authorization methods for exec: |['none']| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_exec_authorization_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEOSEdge1 INFO root:test_aaa.py:227 TEST is exec authorization methods list set correct on |kg-topology-CloudEOSEdge1| INFO root:test_aaa.py:229 GIVEN exec authorization method list: |['none']| INFO root:test_aaa.py:233 WHEN EOS exec authorization method list is set to |['none']| INFO root:test_aaa.py:237 THEN test case result is |True| INFO root:test_aaa.py:238 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/api/test_api.py::APITests::test_if_management_http_api_server_is_running_on_[kg-topology-CloudEOSEdge1] | Verify management api http server is not running | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |{dut_name}| HTTP Server is running state: |False| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_api.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_management_http_api_server_is_running_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True} INFO root:test_api.py:178 TEST is HTTP API running on |kg-topology-CloudEOSEdge1| INFO root:test_api.py:179 GIVEN HTTP API state is |False| INFO root:tests_tools.py:356 Verify if show command |show management api http-commands| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show management api http-commands| on kg-topology-CloudEOSEdge1 INFO root:test_api.py:189 WHEN HTTP API state is |False| INFO root:test_api.py:192 THEN test case result is |True| INFO root:test_api.py:193 OUTPUT of |show management api http-commands| is : Enabled: Yes HTTPS server: running, set to use port 443 HTTP server: shutdown, set to use port 80 Local HTTP server: shutdown, no authentication, set to use port 8080 Unix Socket server: shutdown, no authentication VRFs: default Hits: 71700 Last hit: 0 seconds ago Bytes in: 10886175 Bytes out: 194829444 Requests: 67299 Commands: 134598 Duration: 6065.473 seconds SSL Profile: none FIPS Mode: No QoS DSCP: 0 Log Level: none CSP Frame Ancestor: None TLS Protocols: 1.0 1.1 1.2 User Requests Bytes in Bytes out Last hit ------------- -------------- -------------- --------------- ------------- kgrozis 67299 10886175 194829444 0 seconds ago URLs --------------------------------------- Ethernet1 : https://11.201.14.101:443 Ethernet2 : https://11.201.14.201:443 Ethernet100 : https://11.201.8.1:443 Loopback0 : https://11.201.0.1:443 Loopback10 : https://198.18.0.35:443 | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/aaa/test_aaa.py::AAATests::test_if_dot1x_accounting_methods_set_on_[kg-topology-CloudEOSEdge1] | Verify AAA dot1x accounting method-lists are set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| AAA accounting exec methods for dot1x: |[]| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_dot1x_accounting_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:test_aaa.py:594 TEST is dot1x accounting methods list set correct on |kg-topology-CloudEOSEdge1| INFO root:test_aaa.py:596 GIVEN dot1x system accounting method list: |[]| and dot1x system accounting methodlist: |[]| INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEOSEdge1 INFO root:test_aaa.py:611 WHEN default dot1x accounting method list: |[]| and console dot1x accounting method list: |[]| INFO root:test_aaa.py:616 THEN test case result is |True| INFO root:test_aaa.py:617 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/aaa/test_aaa.py::AAATests::test_if_default_login_authentication_methods_set_on_[kg-topology-CloudEOSEdge1] | Verify AAA default login authentication are method-lists set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| AAA authentication methods for default login: |['local']| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_default_login_authentication_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEOSEdge1 INFO root:test_aaa.py:270 TEST is default login authentication methods list set correct on |kg-topology-CloudEOSEdge1| INFO root:test_aaa.py:272 GIVEN login authentication method list: |['local']| INFO root:test_aaa.py:276 WHEN EOS login authentication method list is set to |['local']| INFO root:test_aaa.py:280 THEN test case result is |True| INFO root:test_aaa.py:281 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/api/test_api.py::APITests::test_if_management_local_http_api_server_is_running_on_[kg-topology-CloudEOSEdge1] | Verify management api local httpserver is not running | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| Local HTTP Server is running state: |False| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_api.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_management_local_http_api_server_is_running_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True} INFO root:test_api.py:215 TEST is local HTTP API running on |kg-topology-CloudEOSEdge1| INFO root:test_api.py:216 GIVEN local HTTP API state is |False| INFO root:tests_tools.py:356 Verify if show command |show management api http-commands| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show management api http-commands| on kg-topology-CloudEOSEdge1 INFO root:test_api.py:226 WHEN HTTP API state is |False| INFO root:test_api.py:229 THEN test case result is |True| INFO root:test_api.py:230 OUTPUT of |show management api http-commands| is : Enabled: Yes HTTPS server: running, set to use port 443 HTTP server: shutdown, set to use port 80 Local HTTP server: shutdown, no authentication, set to use port 8080 Unix Socket server: shutdown, no authentication VRFs: default Hits: 71700 Last hit: 0 seconds ago Bytes in: 10886175 Bytes out: 194829444 Requests: 67299 Commands: 134598 Duration: 6065.473 seconds SSL Profile: none FIPS Mode: No QoS DSCP: 0 Log Level: none CSP Frame Ancestor: None TLS Protocols: 1.0 1.1 1.2 User Requests Bytes in Bytes out Last hit ------------- -------------- -------------- --------------- ------------- kgrozis 67299 10886175 194829444 0 seconds ago URLs --------------------------------------- Ethernet1 : https://11.201.14.101:443 Ethernet2 : https://11.201.14.201:443 Ethernet100 : https://11.201.8.1:443 Loopback0 : https://11.201.0.1:443 Loopback10 : https://198.18.0.35:443 | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/api/test_api.py::APITests::test_if_management_https_api_server_is_running_on_[kg-topology-CloudEOSEdge1] | Verify management api https server is running | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| HTTPS Server is running state: |True| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_api.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_management_https_api_server_is_running_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True} INFO root:test_api.py:69 TEST is HTTPS API running on |kg-topology-CloudEOSEdge1| INFO root:test_api.py:70 GIVEN HTTPS API state is |True| INFO root:tests_tools.py:356 Verify if show command |show management api http-commands| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show management api http-commands| on kg-topology-CloudEOSEdge1 INFO root:test_api.py:80 WHEN HTTPS API state is |True| INFO root:test_api.py:83 THEN test case result is |True| INFO root:test_api.py:84 OUTPUT of |show management api http-commands| is : Enabled: Yes HTTPS server: running, set to use port 443 HTTP server: shutdown, set to use port 80 Local HTTP server: shutdown, no authentication, set to use port 8080 Unix Socket server: shutdown, no authentication VRFs: default Hits: 71689 Last hit: 0 seconds ago Bytes in: 10884452 Bytes out: 194824305 Requests: 67288 Commands: 134576 Duration: 6065.324 seconds SSL Profile: none FIPS Mode: No QoS DSCP: 0 Log Level: none CSP Frame Ancestor: None TLS Protocols: 1.0 1.1 1.2 User Requests Bytes in Bytes out Last hit ------------- -------------- -------------- --------------- ------------- kgrozis 67288 10884452 194824305 0 seconds ago URLs --------------------------------------- Ethernet1 : https://11.201.14.101:443 Ethernet2 : https://11.201.14.201:443 Ethernet100 : https://11.201.8.1:443 Loopback0 : https://11.201.0.1:443 Loopback10 : https://198.18.0.35:443 | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/host/test_host.py::HostTests::test_if_hostname_is_correcet_on_[kg-topology-CloudEOSEdge1] | Verify hostname is set on device is correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| the configured hostname is |kg-topology-CloudEOSEdge1| and the correct hostname is |kg-topology-CloudEOSEdge1| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_host.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_hostname_is_correcet_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show hostname| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show hostname| on kg-topology-CloudEOSEdge1 INFO root:test_host.py:72 TEST is hostname kg-topology-CloudEOSEdge1 correct INFO root:test_host.py:73 GIVEN hostname kg-topology-CloudEOSEdge1 INFO root:test_host.py:74 WHEN hostname is kg-topology-CloudEOSEdge1 INFO root:test_host.py:81 THEN test case result is |False| INFO root:test_host.py:82 OUTPUT of |show hostname| is : Hostname: kg-topology-CloudEOSEdge1 FQDN: kg-topology-CloudEOSEdge1 | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/cpu/test_cpu.py::CPUTests::test_1_sec_cpu_utlization_on_[kg-topology-CloudEOSEdge1] | Verify 1 second CPU % is under specificied value | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| 1 second CPU load average is |1.82%| and should be under |10%| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_cpu.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_1_sec_cpu_utlization_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show processes| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show processes| on kg-topology-CloudEOSEdge1 INFO root:test_cpu.py:70 TEST if 1 second CPU utilization is less than specified value on |kg-topology-CloudEOSEdge1| INFO root:test_cpu.py:72 GIVEN CPU utilization is less than |10| INFO root:test_cpu.py:76 WHEN CPU utilization is |1.82| INFO root:test_cpu.py:79 THEN test case result is |True| INFO root:test_cpu.py:80 OUTPUT of |show processes| is : 16:32:51 up 27 days, 15:15, 0 users, load average: 1.82, 1.55, 1.38 PID %CPU %MEM TT STAT STARTED TIME CMD 1928 102 3.7 ? Sl Aug 13 28-06:28:46 Sfe 1725 0.4 2.2 ? Sl Aug 13 03:03:30 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.14.101 -taillogs -grpcaddr=0.0.0.0:6042 1582 0.2 8.6 ? Sl Aug 13 01:20:50 ConfigAgent 4449 0.2 0.6 ? SNl Aug 31 00:28:33 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config 13087 0.2 0.1 ? Ss 16:32:35 00:00:00 sshd: unknown [priv] 1233 0.1 0.9 ? S Aug 13 01:15:08 ProcMgr-worker 3405 0.1 1.4 ? S Aug 13 01:12:09 Fhrp 1 0.0 0.0 ? Ss Aug 13 00:03:49 /sbin/init 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd] 3 0.0 0.0 ? S Aug 13 00:00:22 [ksoftirqd/0] 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H] 7 0.0 0.0 ? S Aug 13 00:00:36 [rcu_preempt] 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched] 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh] 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0] 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain] 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0] 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0] 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1] 15 0.0 0.0 ? S Aug 13 00:00:02 [watchdog/1] 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1] 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1] 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0] 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H] 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2] 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2] 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2] 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2] 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0] 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H] 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3] 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3] 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3] 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3] 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0] 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H] 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs] 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns] 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd] 35 0.0 0.0 ? S Aug 13 00:01:07 [khungtaskd2] 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper] 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback] 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0] 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto] 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd] 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd] 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff] 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller] 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task] 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd] 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd] 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl] 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod] 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod] 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0] 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat] 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod] 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd] 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme] 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd] 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf] 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq] 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-] 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver] 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H] 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0] 343 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:2] 380 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd 407 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f 499 0.0 0.0 ? S< Aug 13 00:00:00 [ena] 747 0.0 0.1 ? Ss Aug 13 00:02:19 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 759 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1] 778 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground 782 0.0 0.0 ? Ss Aug 13 00:00:48 /usr/bin/ProcMonitor 789 0.0 0.0 ? Ss Aug 13 00:01:05 /usr/lib/systemd/systemd-logind 807 0.0 0.0 ? Ss Aug 13 00:00:12 /usr/sbin/crond -n 819 0.0 0.0 ? S<s Aug 13 00:00:17 /usr/bin/wdogdev -t 60 824 0.0 0.0 ? Ss Aug 13 00:00:03 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid 1005 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local 1007 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1017 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys 1018 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1034 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil 1038 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure 1039 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1064 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon 1179 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1180 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1213 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm 1216 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1218 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1232 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master 1478 0.0 0.0 ? S Aug 13 00:09:04 /usr/bin/EosOomAdjust 1486 0.0 0.0 ? S Aug 13 00:00:15 [rbfd_vrf_cleanu] 1501 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid 1538 0.0 0.0 ? S Aug 13 00:01:58 /usr/bin/SlabMonitor 1539 0.0 2.6 ? S Aug 13 00:38:33 Sysdb 1581 0.0 1.2 ? S Aug 13 00:00:34 StageMgr 1584 0.0 1.4 ? S Aug 13 00:01:46 Fru 1585 0.0 1.8 ? S Aug 13 00:00:56 Launcher 1714 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=267046295036,267046027633,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp 1715 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1717 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=267080979441,267080797725,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon 1718 0.0 1.2 ? S Aug 13 00:07:18 Lldp 1719 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1720 0.0 1.2 ? S Aug 13 00:03:02 McastCommon 1722 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=267138688824,267130622391,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec 1724 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1726 0.0 1.1 ? S Aug 13 00:02:04 PortSec 1739 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H] 1744 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=270600496842,267232117674,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd 1745 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1746 0.0 1.4 ? S Aug 13 00:03:58 Bfd 1747 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=271099376041,271003644947,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag 1750 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1751 0.0 1.3 ? S Aug 13 00:14:10 Lag 1754 0.0 1.7 ? S Aug 13 00:27:08 SuperServer 1767 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=275033642113,271344907121,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira 1768 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1769 0.0 1.5 ? S Aug 13 00:03:27 Ira 1772 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=275203075095,275062053558,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy 1773 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1774 0.0 1.2 ? S Aug 13 00:02:48 LedPolicy 1775 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=275412252849,275377553919,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr 1776 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1777 0.0 1.3 ? S Aug 13 00:06:40 EventMgr 1778 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=275530943653,275498520824,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx 1779 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1780 0.0 1.2 ? S Aug 13 00:22:41 StpTxRx 1781 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=275673918628,275618185987,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld 1783 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1784 0.0 1.1 ? S Aug 13 00:00:30 StandbyCpld 1785 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=275814961243,275751809451,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor 1786 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1787 0.0 1.0 ? S Aug 13 00:32:46 AgentMonitor 1788 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=279268129963,279198956916,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel 1789 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1790 0.0 1.6 ? Sl Aug 13 00:06:26 Aaa 1791 0.0 1.2 ? S Aug 13 00:01:10 Tunnel 1793 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=279517763852,279517565226,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology 1794 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1795 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=279733513327,279733258943,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl 1796 0.0 1.2 ? S Aug 13 00:03:19 StpTopology 1797 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1798 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=279939374338,279887740448,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp 1799 0.0 1.4 ? S Aug 13 00:19:20 Acl 1800 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1802 0.0 1.1 ? S Aug 13 00:04:26 Stp 1803 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=280114122924,280113919792,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo 1804 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1805 0.0 1.1 ? S Aug 13 00:01:44 KernelNetworkInfo 1806 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=283609312459,283573711926,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6 1807 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1809 0.0 1.2 ? S Aug 13 00:03:17 McastCommon6 1811 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=283839973599,283788015153,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent 1813 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1815 0.0 1.2 ? S Aug 13 00:03:11 LacpTxAgent 1816 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=284123665160,284036522428,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp 1817 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1818 0.0 1.5 ? S Aug 13 00:04:22 Arp 1820 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=284390286503,284256513379,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib 1821 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1822 0.0 1.4 ? S Aug 13 00:03:24 KernelFib 1824 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=287877695955,287770964417,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos 1825 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1826 0.0 1.2 ? S Aug 13 00:02:37 Qos 1827 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=288015969009,288008313449,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat 1828 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1831 0.0 1.1 ? S Aug 13 00:01:40 Thermostat 1834 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=288430062677,288320872305,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib 1838 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1839 0.0 1.2 ? S Aug 13 00:00:53 L2Rib 1841 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=288639642769,288566958102,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled 1842 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1844 0.0 1.2 ? S Aug 13 00:01:54 TopoAgent 1845 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=292156458136,288755017730,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse 1847 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1848 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=292294904749,292294697982,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager 1849 0.0 1.1 ? S Aug 13 00:00:28 PowerFuse 1852 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1853 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=292452307410,292452110553,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra 1854 0.0 1.1 ? S Aug 13 00:00:28 PowerManager 1856 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1859 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=292715604954,292692638320,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent 1860 0.0 1.4 ? S Aug 13 00:05:30 Ebra 1861 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1864 0.0 1.1 ? S Aug 13 00:00:30 ReloadCauseAgent 1866 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=292863065168,292847136027,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile 1874 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1881 0.0 1.5 ? S Aug 13 00:03:32 IgmpSnooping 1883 0.0 1.1 ? S Aug 13 00:00:30 SharedSecretProfile 1894 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=296809139147,296808906976,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled 1898 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1901 0.0 1.3 ? S Aug 13 00:01:30 StaticRoute 1903 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=296917164765,296916917865,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled 1906 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1907 0.0 1.7 ? S Aug 13 00:08:01 IpRib 1909 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=297076889668,297076654146,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled 1910 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1911 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=297209669171,297209436301,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute 1912 0.0 1.9 ? S Aug 13 00:01:50 BgpCliHelper 1914 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1915 0.0 1.3 ? S Aug 13 00:03:25 ConnectedRoute 1916 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=297333111290,297332906647,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput 1918 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1919 0.0 1.3 ? S Aug 13 00:01:33 RouteInput 1920 0.0 2.3 ? Sl Aug 13 00:13:31 Bgp 1922 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=301070490425,300896034705,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe 1926 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2295 0.0 0.0 ? Ssl Aug 13 00:00:15 /usr/sbin/rsyslogd -n 2356 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=348668178089,348667946331,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager 2360 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2363 0.0 1.1 ? S Aug 13 00:00:31 LicenseManager 2615 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd 2616 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux 2617 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0 2631 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct> 2634 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2615 /var/log/eos-console | sed 's/\(.*\)/\1\r/' 2637 0.0 0.0 ? S Aug 13 00:00:16 /usr/bin/tail -n 0 --retry --follow=name --pid=2615 /var/log/eos-console 2638 0.0 0.0 ? S Aug 13 00:00:00 sed s/\(.*\)/\1\r/ 2660 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=369515596564,369515372050,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec 2661 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2662 0.0 1.2 ? S Aug 13 00:07:27 Ipsec 2671 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1 2699 0.0 0.1 ? Ssl Aug 13 00:00:46 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid 2739 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc 2978 0.0 0.0 ? S 16:07:01 00:00:00 [kworker/0:0] 3281 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Nat --demuxerOpts=1027180400275,1027179642339,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Nat 3289 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3290 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Vxlan --demuxerOpts=1027289964523,1027289360240,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Vxlan 3295 0.0 1.2 ? S Aug 13 00:06:02 Nat 3297 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3301 0.0 1.3 ? S Aug 13 00:03:06 Vxlan 3304 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=VxlanSwFwd --demuxerOpts=1027467071119,1027361358810,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/VxlanSwFwd 3307 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3308 0.0 1.3 ? S Aug 13 00:03:24 VxlanSwFwd 3365 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon 3367 0.0 0.1 ? Ssl Aug 13 00:00:51 /usr/libexec/strongswan/charon --use-syslog 3403 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Fhrp --demuxerOpts=1035728404808,1035728156871,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Fhrp --scheduled 3404 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3929 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:0] 4048 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq 4431 0.0 0.0 ? S Aug 31 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh 5793 0.0 0.0 ? S 16:18:01 00:00:00 [kworker/0:3] 8439 0.0 0.0 ? S 16:24:01 00:00:00 [kworker/0:2] 10887 0.0 0.0 ? S 16:30:01 00:00:00 [kworker/0:1] 13032 0.0 0.0 ? Ss 16:32:02 00:00:00 sshd: [accepted] 13088 0.0 0.0 ? S 16:32:35 00:00:00 sshd: unknown [net] 13443 0.0 0.0 ? Rs 16:32:51 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww 18981 0.0 0.0 ? S Aug 26 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=5050812972099146,5050812971830009,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini 18982 0.0 0.3 ? Ss Aug 26 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 18983 0.0 1.3 ? Sl Aug 26 00:01:11 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 19027 0.0 0.0 ? Ss Aug 26 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid; 19029 0.0 0.1 ? S Aug 26 00:01:08 nginx: worker process 30730 0.0 0.4 ? Sl Aug 17 00:11:05 dockerd -H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock -s overlay 30750 0.0 0.1 ? Ssl Aug 17 00:09:08 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/api/test_api.py::APITests::test_if_management_https_api_server_port_is_correct_on_[kg-topology-CloudEOSEdge1] | Verify https server is enabled on port 443 | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| HTTPS Server is running on port: |443| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_api.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_management_https_api_server_port_is_correct_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True} INFO root:test_api.py:106 TEST is HTTPS API port on |kg-topology-CloudEOSEdge1| INFO root:test_api.py:107 GIVEN HTTPS API port is |443| INFO root:tests_tools.py:356 Verify if show command |show management api http-commands| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show management api http-commands| on kg-topology-CloudEOSEdge1 INFO root:test_api.py:116 WHEN HTTPS API port is |443| INFO root:test_api.py:119 THEN test case result is |True| INFO root:test_api.py:120 OUTPUT of |show management api http-commands| is : Enabled: Yes HTTPS server: running, set to use port 443 HTTP server: shutdown, set to use port 80 Local HTTP server: shutdown, no authentication, set to use port 8080 Unix Socket server: shutdown, no authentication VRFs: default Hits: 71689 Last hit: 0 seconds ago Bytes in: 10884452 Bytes out: 194824305 Requests: 67288 Commands: 134576 Duration: 6065.324 seconds SSL Profile: none FIPS Mode: No QoS DSCP: 0 Log Level: none CSP Frame Ancestor: None TLS Protocols: 1.0 1.1 1.2 User Requests Bytes in Bytes out Last hit ------------- -------------- -------------- --------------- ------------- kgrozis 67288 10884452 194824305 0 seconds ago URLs --------------------------------------- Ethernet1 : https://11.201.14.101:443 Ethernet2 : https://11.201.14.201:443 Ethernet100 : https://11.201.8.1:443 Loopback0 : https://11.201.0.1:443 Loopback10 : https://198.18.0.35:443 | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/dns/test_dns.py::DNSTests::test_if_dns_resolves_on_[kg-topology-CloudEOSEdge1] | Verify DNS is running by performing pings and verifying name resolution | 1.21 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| DNS resolution |Passed| for google.com On router |kg-topology-CloudEOSEdge1| DNS resolution |Passed| for cnn.com On router |kg-topology-CloudEOSEdge1| DNS resolution |Passed| for arista.com -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_dns.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_dns_resolves_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True} INFO root:test_dns.py:70 TEST can |kg-topology-CloudEOSEdge1| resolve google.com INFO root:test_dns.py:71 GIVEN URL is |google.com| INFO root:test_dns.py:72 WHEN exception is |Name or service not known| string INFO root:test_dns.py:89 THEN test case result is |Passed| INFO root:test_dns.py:90 OUTPUT of |ping google.com| is : PING google.com (216.58.192.206) 72(100) bytes of data. 76 bytes from ord30s25-in-f14.1e100.net (216.58.192.206): icmp_seq=1 ttl=100 (truncated) 76 bytes from ord30s25-in-f14.1e100.net (216.58.192.206): icmp_seq=2 ttl=100 (truncated) 76 bytes from ord30s25-in-f14.1e100.net (216.58.192.206): icmp_seq=3 ttl=100 (truncated) 76 bytes from ord30s25-in-f14.1e100.net (216.58.192.206): icmp_seq=4 ttl=100 (truncated) 76 bytes from ord30s25-in-f14.1e100.net (216.58.192.206): icmp_seq=5 ttl=100 (truncated) --- google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 61ms rtt min/avg/max/mdev = 17.185/17.242/17.402/0.115 ms, pipe 2, ipg/ewma 15.424/17.319 ms INFO root:test_dns.py:70 TEST can |kg-topology-CloudEOSEdge1| resolve cnn.com INFO root:test_dns.py:71 GIVEN URL is |cnn.com| INFO root:test_dns.py:72 WHEN exception is |Name or service not known| string INFO root:test_dns.py:89 THEN test case result is |Passed| INFO root:test_dns.py:90 OUTPUT of |ping cnn.com| is : PING cnn.com (151.101.65.67) 72(100) bytes of data. 80 bytes from 151.101.65.67 (151.101.65.67): icmp_seq=1 ttl=39 time=11.4 ms 80 bytes from 151.101.65.67 (151.101.65.67): icmp_seq=2 ttl=39 time=11.3 ms 80 bytes from 151.101.65.67 (151.101.65.67): icmp_seq=3 ttl=39 time=11.2 ms 80 bytes from 151.101.65.67 (151.101.65.67): icmp_seq=4 ttl=39 time=11.3 ms 80 bytes from 151.101.65.67 (151.101.65.67): icmp_seq=5 ttl=39 time=11.3 ms --- cnn.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 43ms rtt min/avg/max/mdev = 11.298/11.361/11.499/0.139 ms, pipe 2, ipg/ewma 10.984/11.428 ms INFO root:test_dns.py:70 TEST can |kg-topology-CloudEOSEdge1| resolve arista.com INFO root:test_dns.py:71 GIVEN URL is |arista.com| INFO root:test_dns.py:72 WHEN exception is |Name or service not known| string INFO root:test_dns.py:89 THEN test case result is |Passed| INFO root:test_dns.py:90 OUTPUT of |ping arista.com| is : PING arista.com (64.68.200.46) 72(100) bytes of data. 80 bytes from url-fwd.easydns.com (64.68.200.46): icmp_seq=1 ttl=40 time=23.4 ms 80 bytes from url-fwd.easydns.com (64.68.200.46): icmp_seq=2 ttl=40 time=23.2 ms 80 bytes from url-fwd.easydns.com (64.68.200.46): icmp_seq=3 ttl=40 time=23.2 ms 80 bytes from url-fwd.easydns.com (64.68.200.46): icmp_seq=4 ttl=40 time=23.3 ms 80 bytes from url-fwd.easydns.com (64.68.200.46): icmp_seq=5 ttl=40 time=23.2 ms --- arista.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 66ms rtt min/avg/max/mdev = 23.256/23.309/23.427/0.178 ms, pipe 3, ipg/ewma 16.655/23.366 ms | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/interface/test_interface.py::InterfaceStatusTests::test_if_intf_protocol_status_is_connected_on_[kg-topology-CloudEOSEdge1] | Verify the interfaces of interest protocol statuses are up | 0.11 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1|: - On interface |Ethernet1|: interface link line protocol status is set to: |up|, correct state is |up| - On interface |Ethernet2|: interface link line protocol status is set to: |up|, correct state is |up| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_interface.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_intf_protocol_status_is_connected_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None} INFO root:tests_tools.py:356 Verify if show command |show interfaces status| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show interfaces status| on kg-topology-CloudEOSEdge1 INFO root:test_interface.py:82 TEST if interface |Ethernet1| link prootocol statuses are up on |kg-topology-CloudEOSEdge1| INFO root:test_interface.py:84 GIVEN interface status is |up| INFO root:test_interface.py:88 WHEN interface status is |up| INFO root:test_interface.py:91 THEN test case result is |True| INFO root:test_interface.py:92 OUTPUT of |show interfaces status| is : Port Name Status Vlan Duplex Speed Type Flags Encapsulation Et1 connected routed full unconf 10/100/1000 Et2 connected routed full unconf 10/100/1000 Et2.102 connected routed full unconf dot1q-encapsulation 102 Et100 connected routed full 10G 10/100/1000 INFO root:tests_tools.py:469 Find Index for test suite: test_interface.py on dut kg-topology-CloudEOSEdge1 INFO root:tests_tools.py:473 Test suite test_interface.py exists in results file at index 0 INFO root:tests_tools.py:480 Find Index for test case: test_if_intf_protocol_status_is_connected_on_ on dut kg-topology-CloudEOSEdge1 INFO root:tests_tools.py:484 Test case test_if_intf_protocol_status_is_connected_on_ exists in results file at index 2 INFO root:tests_tools.py:491 Add DUT kg-topology-CloudEOSEdge1 to test case test_if_intf_protocol_status_is_connected_on_ with parameters {'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None, 'actual_output': 'up', 'test_result': True, 'dut': 'kg-topology-CloudEOSEdge1'} INFO root:test_interface.py:82 TEST if interface |Ethernet2| link prootocol statuses are up on |kg-topology-CloudEOSEdge1| INFO root:test_interface.py:84 GIVEN interface status is |up| INFO root:test_interface.py:88 WHEN interface status is |up| INFO root:test_interface.py:91 THEN test case result is |True| INFO root:test_interface.py:92 OUTPUT of |show interfaces status| is : Port Name Status Vlan Duplex Speed Type Flags Encapsulation Et1 connected routed full unconf 10/100/1000 Et2 connected routed full unconf 10/100/1000 Et2.102 connected routed full unconf dot1q-encapsulation 102 Et100 connected routed full 10G 10/100/1000 INFO root:tests_tools.py:469 Find Index for test suite: test_interface.py on dut kg-topology-CloudEOSEdge1 INFO root:tests_tools.py:473 Test suite test_interface.py exists in results file at index 0 INFO root:tests_tools.py:480 Find Index for test case: test_if_intf_protocol_status_is_connected_on_ on dut kg-topology-CloudEOSEdge1 INFO root:tests_tools.py:484 Test case test_if_intf_protocol_status_is_connected_on_ exists in results file at index 2 INFO root:tests_tools.py:491 Add DUT kg-topology-CloudEOSEdge1 to test case test_if_intf_protocol_status_is_connected_on_ with parameters {'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None, 'actual_output': 'up', 'test_result': True, 'dut': 'kg-topology-CloudEOSEdge1'} | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/ntp/test_ntp.py::NTPTests::test_if_ntp_is_synchronized_on_[kg-topology-CloudEOSEdge1] | Verify ntp is synchronzied | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| NTP synchronized status is: |True| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_ntp.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_ntp_is_synchronized_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show ntp status| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show ntp status| on kg-topology-CloudEOSEdge1 INFO root:test_ntp.py:70 TEST is NTP synchronized on |kg-topology-CloudEOSEdge1| INFO root:test_ntp.py:71 GIVEN NTP synchronized is |True| INFO root:test_ntp.py:77 WHEN NTP configuration file is |True| INFO root:test_ntp.py:80 THEN test case result is |True| INFO root:test_ntp.py:81 OUTPUT of |show ntp status| is : synchronised to NTP server (169.254.169.123) at stratum 4 time correct to within 17 ms polling server every 256 s | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/cpu/test_cpu.py::CPUTests::test_1_min_cpu_utlization_on_[kg-topology-CloudEOSEdge1] | Verify 1 minute CPU % is under specificied value | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| 1 minute CPU load average is |1.55%| and should be under |10%| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_cpu.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_1_min_cpu_utlization_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show processes| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show processes| on kg-topology-CloudEOSEdge1 INFO root:test_cpu.py:105 TEST if 1 minute CPU utilization is less than specified value on |kg-topology-CloudEOSEdge1| INFO root:test_cpu.py:107 GIVEN CPU utilization is less than |10| INFO root:test_cpu.py:111 WHEN CPU utilization is |1.55| INFO root:test_cpu.py:114 THEN test case result is |True| INFO root:test_cpu.py:115 OUTPUT of |show processes| is : 16:32:51 up 27 days, 15:15, 0 users, load average: 1.82, 1.55, 1.38 PID %CPU %MEM TT STAT STARTED TIME CMD 1928 102 3.7 ? Sl Aug 13 28-06:28:46 Sfe 1725 0.4 2.2 ? Sl Aug 13 03:03:30 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.14.101 -taillogs -grpcaddr=0.0.0.0:6042 1582 0.2 8.6 ? Sl Aug 13 01:20:50 ConfigAgent 4449 0.2 0.6 ? SNl Aug 31 00:28:33 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config 13087 0.2 0.1 ? Ss 16:32:35 00:00:00 sshd: unknown [priv] 1233 0.1 0.9 ? S Aug 13 01:15:08 ProcMgr-worker 3405 0.1 1.4 ? S Aug 13 01:12:09 Fhrp 1 0.0 0.0 ? Ss Aug 13 00:03:49 /sbin/init 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd] 3 0.0 0.0 ? S Aug 13 00:00:22 [ksoftirqd/0] 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H] 7 0.0 0.0 ? S Aug 13 00:00:36 [rcu_preempt] 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched] 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh] 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0] 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain] 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0] 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0] 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1] 15 0.0 0.0 ? S Aug 13 00:00:02 [watchdog/1] 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1] 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1] 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0] 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H] 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2] 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2] 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2] 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2] 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0] 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H] 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3] 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3] 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3] 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3] 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0] 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H] 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs] 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns] 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd] 35 0.0 0.0 ? S Aug 13 00:01:07 [khungtaskd2] 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper] 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback] 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0] 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto] 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd] 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd] 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff] 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller] 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task] 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd] 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd] 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl] 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod] 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod] 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0] 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat] 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod] 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd] 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme] 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd] 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf] 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq] 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-] 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver] 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H] 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0] 343 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:2] 380 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd 407 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f 499 0.0 0.0 ? S< Aug 13 00:00:00 [ena] 747 0.0 0.1 ? Ss Aug 13 00:02:19 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 759 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1] 778 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground 782 0.0 0.0 ? Ss Aug 13 00:00:48 /usr/bin/ProcMonitor 789 0.0 0.0 ? Ss Aug 13 00:01:05 /usr/lib/systemd/systemd-logind 807 0.0 0.0 ? Ss Aug 13 00:00:12 /usr/sbin/crond -n 819 0.0 0.0 ? S<s Aug 13 00:00:17 /usr/bin/wdogdev -t 60 824 0.0 0.0 ? Ss Aug 13 00:00:03 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid 1005 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local 1007 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1017 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys 1018 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1034 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil 1038 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure 1039 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1064 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon 1179 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1180 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1213 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm 1216 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1218 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1232 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master 1478 0.0 0.0 ? S Aug 13 00:09:04 /usr/bin/EosOomAdjust 1486 0.0 0.0 ? S Aug 13 00:00:15 [rbfd_vrf_cleanu] 1501 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid 1538 0.0 0.0 ? S Aug 13 00:01:58 /usr/bin/SlabMonitor 1539 0.0 2.6 ? S Aug 13 00:38:33 Sysdb 1581 0.0 1.2 ? S Aug 13 00:00:34 StageMgr 1584 0.0 1.4 ? S Aug 13 00:01:46 Fru 1585 0.0 1.8 ? S Aug 13 00:00:56 Launcher 1714 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=267046295036,267046027633,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp 1715 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1717 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=267080979441,267080797725,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon 1718 0.0 1.2 ? S Aug 13 00:07:18 Lldp 1719 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1720 0.0 1.2 ? S Aug 13 00:03:02 McastCommon 1722 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=267138688824,267130622391,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec 1724 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1726 0.0 1.1 ? S Aug 13 00:02:04 PortSec 1739 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H] 1744 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=270600496842,267232117674,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd 1745 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1746 0.0 1.4 ? S Aug 13 00:03:58 Bfd 1747 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=271099376041,271003644947,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag 1750 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1751 0.0 1.3 ? S Aug 13 00:14:10 Lag 1754 0.0 1.7 ? S Aug 13 00:27:08 SuperServer 1767 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=275033642113,271344907121,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira 1768 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1769 0.0 1.5 ? S Aug 13 00:03:27 Ira 1772 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=275203075095,275062053558,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy 1773 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1774 0.0 1.2 ? S Aug 13 00:02:48 LedPolicy 1775 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=275412252849,275377553919,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr 1776 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1777 0.0 1.3 ? S Aug 13 00:06:40 EventMgr 1778 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=275530943653,275498520824,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx 1779 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1780 0.0 1.2 ? S Aug 13 00:22:41 StpTxRx 1781 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=275673918628,275618185987,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld 1783 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1784 0.0 1.1 ? S Aug 13 00:00:30 StandbyCpld 1785 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=275814961243,275751809451,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor 1786 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1787 0.0 1.0 ? S Aug 13 00:32:46 AgentMonitor 1788 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=279268129963,279198956916,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel 1789 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1790 0.0 1.6 ? Sl Aug 13 00:06:26 Aaa 1791 0.0 1.2 ? S Aug 13 00:01:10 Tunnel 1793 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=279517763852,279517565226,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology 1794 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1795 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=279733513327,279733258943,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl 1796 0.0 1.2 ? S Aug 13 00:03:19 StpTopology 1797 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1798 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=279939374338,279887740448,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp 1799 0.0 1.4 ? S Aug 13 00:19:20 Acl 1800 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1802 0.0 1.1 ? S Aug 13 00:04:26 Stp 1803 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=280114122924,280113919792,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo 1804 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1805 0.0 1.1 ? S Aug 13 00:01:44 KernelNetworkInfo 1806 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=283609312459,283573711926,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6 1807 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1809 0.0 1.2 ? S Aug 13 00:03:17 McastCommon6 1811 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=283839973599,283788015153,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent 1813 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1815 0.0 1.2 ? S Aug 13 00:03:11 LacpTxAgent 1816 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=284123665160,284036522428,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp 1817 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1818 0.0 1.5 ? S Aug 13 00:04:22 Arp 1820 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=284390286503,284256513379,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib 1821 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1822 0.0 1.4 ? S Aug 13 00:03:24 KernelFib 1824 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=287877695955,287770964417,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos 1825 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1826 0.0 1.2 ? S Aug 13 00:02:37 Qos 1827 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=288015969009,288008313449,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat 1828 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1831 0.0 1.1 ? S Aug 13 00:01:40 Thermostat 1834 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=288430062677,288320872305,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib 1838 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1839 0.0 1.2 ? S Aug 13 00:00:53 L2Rib 1841 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=288639642769,288566958102,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled 1842 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1844 0.0 1.2 ? S Aug 13 00:01:54 TopoAgent 1845 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=292156458136,288755017730,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse 1847 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1848 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=292294904749,292294697982,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager 1849 0.0 1.1 ? S Aug 13 00:00:28 PowerFuse 1852 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1853 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=292452307410,292452110553,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra 1854 0.0 1.1 ? S Aug 13 00:00:28 PowerManager 1856 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1859 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=292715604954,292692638320,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent 1860 0.0 1.4 ? S Aug 13 00:05:30 Ebra 1861 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1864 0.0 1.1 ? S Aug 13 00:00:30 ReloadCauseAgent 1866 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=292863065168,292847136027,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile 1874 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1881 0.0 1.5 ? S Aug 13 00:03:32 IgmpSnooping 1883 0.0 1.1 ? S Aug 13 00:00:30 SharedSecretProfile 1894 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=296809139147,296808906976,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled 1898 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1901 0.0 1.3 ? S Aug 13 00:01:30 StaticRoute 1903 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=296917164765,296916917865,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled 1906 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1907 0.0 1.7 ? S Aug 13 00:08:01 IpRib 1909 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=297076889668,297076654146,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled 1910 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1911 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=297209669171,297209436301,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute 1912 0.0 1.9 ? S Aug 13 00:01:50 BgpCliHelper 1914 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1915 0.0 1.3 ? S Aug 13 00:03:25 ConnectedRoute 1916 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=297333111290,297332906647,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput 1918 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1919 0.0 1.3 ? S Aug 13 00:01:33 RouteInput 1920 0.0 2.3 ? Sl Aug 13 00:13:31 Bgp 1922 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=301070490425,300896034705,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe 1926 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2295 0.0 0.0 ? Ssl Aug 13 00:00:15 /usr/sbin/rsyslogd -n 2356 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=348668178089,348667946331,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager 2360 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2363 0.0 1.1 ? S Aug 13 00:00:31 LicenseManager 2615 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd 2616 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux 2617 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0 2631 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct> 2634 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2615 /var/log/eos-console | sed 's/\(.*\)/\1\r/' 2637 0.0 0.0 ? S Aug 13 00:00:16 /usr/bin/tail -n 0 --retry --follow=name --pid=2615 /var/log/eos-console 2638 0.0 0.0 ? S Aug 13 00:00:00 sed s/\(.*\)/\1\r/ 2660 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=369515596564,369515372050,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec 2661 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2662 0.0 1.2 ? S Aug 13 00:07:27 Ipsec 2671 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1 2699 0.0 0.1 ? Ssl Aug 13 00:00:46 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid 2739 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc 2978 0.0 0.0 ? S 16:07:01 00:00:00 [kworker/0:0] 3281 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Nat --demuxerOpts=1027180400275,1027179642339,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Nat 3289 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3290 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Vxlan --demuxerOpts=1027289964523,1027289360240,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Vxlan 3295 0.0 1.2 ? S Aug 13 00:06:02 Nat 3297 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3301 0.0 1.3 ? S Aug 13 00:03:06 Vxlan 3304 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=VxlanSwFwd --demuxerOpts=1027467071119,1027361358810,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/VxlanSwFwd 3307 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3308 0.0 1.3 ? S Aug 13 00:03:24 VxlanSwFwd 3365 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon 3367 0.0 0.1 ? Ssl Aug 13 00:00:51 /usr/libexec/strongswan/charon --use-syslog 3403 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Fhrp --demuxerOpts=1035728404808,1035728156871,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Fhrp --scheduled 3404 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3929 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:0] 4048 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq 4431 0.0 0.0 ? S Aug 31 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh 5793 0.0 0.0 ? S 16:18:01 00:00:00 [kworker/0:3] 8439 0.0 0.0 ? S 16:24:01 00:00:00 [kworker/0:2] 10887 0.0 0.0 ? S 16:30:01 00:00:00 [kworker/0:1] 13032 0.0 0.0 ? Ss 16:32:02 00:00:00 sshd: [accepted] 13088 0.0 0.0 ? S 16:32:35 00:00:00 sshd: unknown [net] 13443 0.0 0.0 ? Rs 16:32:51 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww 18981 0.0 0.0 ? S Aug 26 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=5050812972099146,5050812971830009,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini 18982 0.0 0.3 ? Ss Aug 26 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 18983 0.0 1.3 ? Sl Aug 26 00:01:11 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 19027 0.0 0.0 ? Ss Aug 26 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid; 19029 0.0 0.1 ? S Aug 26 00:01:08 nginx: worker process 30730 0.0 0.4 ? Sl Aug 17 00:11:05 dockerd -H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock -s overlay 30750 0.0 0.1 ? Ssl Aug 17 00:09:08 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/extension/test_extension.py::ExtensionsTests::test_if_extensions_are_installed_on_[kg-topology-CloudEOSEdge1] | Verify a list of extension are installed on a DUT | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| awslogs.swix extension is |installed| On router |kg-topology-CloudEOSEdge1| awsha.rpm extension is |installed| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_extension.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_extensions_are_installed_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show extensions| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show extensions| on kg-topology-CloudEOSEdge1 INFO root:test_extension.py:73 TEST is awslogs.swix extension installed on |kg-topology-CloudEOSEdge1| INFO root:test_extension.py:75 GIVEN expected awslogs.swix extension status: |installed| INFO root:test_extension.py:83 WHEN awslogs.swix extenstion installation state is |installed| INFO root:test_extension.py:87 THEN test case result is |True| INFO root:test_extension.py:88 OUTPUT of |show extensions| is : Name Version/Release Status Extension ----------------- -------------------- ----------- --------- awsha.rpm 0.1.1/1 A, I 1 awslogs.swix 1.4.0/1.el7 A, I 1 A: available | NA: not available | I: installed | NI: not installed | F: forced S: valid signature | NS: invalid signature INFO root:test_extension.py:73 TEST is awsha.rpm extension installed on |kg-topology-CloudEOSEdge1| INFO root:test_extension.py:75 GIVEN expected awsha.rpm extension status: |installed| INFO root:test_extension.py:83 WHEN awsha.rpm extenstion installation state is |installed| INFO root:test_extension.py:87 THEN test case result is |True| INFO root:test_extension.py:88 OUTPUT of |show extensions| is : Name Version/Release Status Extension ----------------- -------------------- ----------- --------- awsha.rpm 0.1.1/1 A, I 1 awslogs.swix 1.4.0/1.el7 A, I 1 A: available | NA: not available | I: installed | NI: not installed | F: forced S: valid signature | NS: invalid signature | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/ntp/test_ntp.py::NTPTests::test_if_ntp_associated_with_peers_on_[kg-topology-CloudEOSEdge1] | Verify ntp peers are correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| has |1| NTP peer associations -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_ntp.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_ntp_associated_with_peers_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show ntp associations| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show ntp associations| on kg-topology-CloudEOSEdge1 INFO root:test_ntp.py:104 TEST is NTP associations with peers on |kg-topology-CloudEOSEdge1| INFO root:test_ntp.py:105 GIVEN NTP associated are greater than or equal to |1| INFO root:test_ntp.py:112 WHEN NTP associated peers fare |1| INFO root:test_ntp.py:115 THEN test case result is |True| INFO root:test_ntp.py:116 OUTPUT of |show ntp associations| is : remote refid st t when poll reach delay offset jitter ============================================================================== *169.254.169.123 169.254.169.12 3 l 77 256 377 0.107 1.627 0.2 | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/interface/test_interface.py::InterfaceStatusTests::test_if_intf_link_status_is_connected_on_[kg-topology-CloudEOSEdge1] | Verify the interfaces of interest link statuses are up | 0.12 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1|: - On interface |Ethernet1|: interface link line protocol status is set to: |connected|, correct state is |connected| - On interface |Ethernet2|: interface link line protocol status is set to: |connected|, correct state is |connected| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_interface.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_intf_link_status_is_connected_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None} INFO root:tests_tools.py:356 Verify if show command |show interfaces status| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show interfaces status| on kg-topology-CloudEOSEdge1 INFO root:test_interface.py:133 TEST if interface |Ethernet1| link status is up on |kg-topology-CloudEOSEdge1| INFO root:test_interface.py:135 GIVEN interface status is |connected| INFO root:test_interface.py:139 WHEN interface status is |connected| INFO root:test_interface.py:142 THEN test case result is |True| INFO root:test_interface.py:143 OUTPUT of |show interfaces status| is : Port Name Status Vlan Duplex Speed Type Flags Encapsulation Et1 connected routed full unconf 10/100/1000 Et2 connected routed full unconf 10/100/1000 Et2.102 connected routed full unconf dot1q-encapsulation 102 Et100 connected routed full 10G 10/100/1000 INFO root:tests_tools.py:469 Find Index for test suite: test_interface.py on dut kg-topology-CloudEOSEdge1 INFO root:tests_tools.py:473 Test suite test_interface.py exists in results file at index 0 INFO root:tests_tools.py:480 Find Index for test case: test_if_intf_link_status_is_connected_on_ on dut kg-topology-CloudEOSEdge1 INFO root:tests_tools.py:484 Test case test_if_intf_link_status_is_connected_on_ exists in results file at index 0 INFO root:tests_tools.py:491 Add DUT kg-topology-CloudEOSEdge1 to test case test_if_intf_link_status_is_connected_on_ with parameters {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None, 'actual_output': 'connected', 'test_result': True, 'dut': 'kg-topology-CloudEOSEdge1'} INFO root:test_interface.py:133 TEST if interface |Ethernet2| link status is up on |kg-topology-CloudEOSEdge1| INFO root:test_interface.py:135 GIVEN interface status is |connected| INFO root:test_interface.py:139 WHEN interface status is |connected| INFO root:test_interface.py:142 THEN test case result is |True| INFO root:test_interface.py:143 OUTPUT of |show interfaces status| is : Port Name Status Vlan Duplex Speed Type Flags Encapsulation Et1 connected routed full unconf 10/100/1000 Et2 connected routed full unconf 10/100/1000 Et2.102 connected routed full unconf dot1q-encapsulation 102 Et100 connected routed full 10G 10/100/1000 INFO root:tests_tools.py:469 Find Index for test suite: test_interface.py on dut kg-topology-CloudEOSEdge1 INFO root:tests_tools.py:473 Test suite test_interface.py exists in results file at index 0 INFO root:tests_tools.py:480 Find Index for test case: test_if_intf_link_status_is_connected_on_ on dut kg-topology-CloudEOSEdge1 INFO root:tests_tools.py:484 Test case test_if_intf_link_status_is_connected_on_ exists in results file at index 0 INFO root:tests_tools.py:491 Add DUT kg-topology-CloudEOSEdge1 to test case test_if_intf_link_status_is_connected_on_ with parameters {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None, 'actual_output': 'connected', 'test_result': True, 'dut': 'kg-topology-CloudEOSEdge1'} | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/cpu/test_cpu.py::CPUTests::test_5_min_cpu_utlization_on_[kg-topology-CloudEOSEdge1] | Verify 5 minute CPU % is under specificied value | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| 5 minute CPU load average is |1.38%| and should be under |10%| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_cpu.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_5_min_cpu_utlization_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show processes| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show processes| on kg-topology-CloudEOSEdge1 INFO root:test_cpu.py:140 TEST if 5 minute CPU utilization is less than specified value on |kg-topology-CloudEOSEdge1| INFO root:test_cpu.py:142 GIVEN CPU utilization is less than |10| INFO root:test_cpu.py:146 WHEN CPU utilization is |1.38| INFO root:test_cpu.py:149 THEN test case result is |True| INFO root:test_cpu.py:150 OUTPUT of |show processes| is : 16:32:51 up 27 days, 15:15, 0 users, load average: 1.82, 1.55, 1.38 PID %CPU %MEM TT STAT STARTED TIME CMD 1928 102 3.7 ? Sl Aug 13 28-06:28:46 Sfe 1725 0.4 2.2 ? Sl Aug 13 03:03:30 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.14.101 -taillogs -grpcaddr=0.0.0.0:6042 1582 0.2 8.6 ? Sl Aug 13 01:20:50 ConfigAgent 4449 0.2 0.6 ? SNl Aug 31 00:28:33 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config 13087 0.2 0.1 ? Ss 16:32:35 00:00:00 sshd: unknown [priv] 1233 0.1 0.9 ? S Aug 13 01:15:08 ProcMgr-worker 3405 0.1 1.4 ? S Aug 13 01:12:09 Fhrp 1 0.0 0.0 ? Ss Aug 13 00:03:49 /sbin/init 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd] 3 0.0 0.0 ? S Aug 13 00:00:22 [ksoftirqd/0] 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H] 7 0.0 0.0 ? S Aug 13 00:00:36 [rcu_preempt] 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched] 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh] 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0] 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain] 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0] 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0] 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1] 15 0.0 0.0 ? S Aug 13 00:00:02 [watchdog/1] 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1] 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1] 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0] 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H] 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2] 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2] 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2] 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2] 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0] 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H] 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3] 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3] 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3] 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3] 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0] 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H] 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs] 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns] 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd] 35 0.0 0.0 ? S Aug 13 00:01:07 [khungtaskd2] 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper] 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback] 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0] 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto] 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd] 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd] 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff] 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller] 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task] 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd] 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd] 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl] 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod] 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod] 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0] 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat] 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod] 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd] 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme] 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd] 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf] 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq] 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-] 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver] 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H] 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0] 343 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:2] 380 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd 407 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f 499 0.0 0.0 ? S< Aug 13 00:00:00 [ena] 747 0.0 0.1 ? Ss Aug 13 00:02:19 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 759 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1] 778 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground 782 0.0 0.0 ? Ss Aug 13 00:00:48 /usr/bin/ProcMonitor 789 0.0 0.0 ? Ss Aug 13 00:01:05 /usr/lib/systemd/systemd-logind 807 0.0 0.0 ? Ss Aug 13 00:00:12 /usr/sbin/crond -n 819 0.0 0.0 ? S<s Aug 13 00:00:17 /usr/bin/wdogdev -t 60 824 0.0 0.0 ? Ss Aug 13 00:00:03 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid 1005 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local 1007 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1017 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys 1018 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1034 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil 1038 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure 1039 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1064 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon 1179 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1180 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1213 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm 1216 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1218 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1232 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master 1478 0.0 0.0 ? S Aug 13 00:09:04 /usr/bin/EosOomAdjust 1486 0.0 0.0 ? S Aug 13 00:00:15 [rbfd_vrf_cleanu] 1501 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid 1538 0.0 0.0 ? S Aug 13 00:01:58 /usr/bin/SlabMonitor 1539 0.0 2.6 ? S Aug 13 00:38:33 Sysdb 1581 0.0 1.2 ? S Aug 13 00:00:34 StageMgr 1584 0.0 1.4 ? S Aug 13 00:01:46 Fru 1585 0.0 1.8 ? S Aug 13 00:00:56 Launcher 1714 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=267046295036,267046027633,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp 1715 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1717 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=267080979441,267080797725,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon 1718 0.0 1.2 ? S Aug 13 00:07:18 Lldp 1719 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1720 0.0 1.2 ? S Aug 13 00:03:02 McastCommon 1722 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=267138688824,267130622391,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec 1724 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1726 0.0 1.1 ? S Aug 13 00:02:04 PortSec 1739 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H] 1744 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=270600496842,267232117674,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd 1745 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1746 0.0 1.4 ? S Aug 13 00:03:58 Bfd 1747 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=271099376041,271003644947,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag 1750 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1751 0.0 1.3 ? S Aug 13 00:14:10 Lag 1754 0.0 1.7 ? S Aug 13 00:27:08 SuperServer 1767 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=275033642113,271344907121,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira 1768 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1769 0.0 1.5 ? S Aug 13 00:03:27 Ira 1772 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=275203075095,275062053558,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy 1773 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1774 0.0 1.2 ? S Aug 13 00:02:48 LedPolicy 1775 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=275412252849,275377553919,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr 1776 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1777 0.0 1.3 ? S Aug 13 00:06:40 EventMgr 1778 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=275530943653,275498520824,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx 1779 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1780 0.0 1.2 ? S Aug 13 00:22:41 StpTxRx 1781 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=275673918628,275618185987,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld 1783 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1784 0.0 1.1 ? S Aug 13 00:00:30 StandbyCpld 1785 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=275814961243,275751809451,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor 1786 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1787 0.0 1.0 ? S Aug 13 00:32:46 AgentMonitor 1788 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=279268129963,279198956916,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel 1789 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1790 0.0 1.6 ? Sl Aug 13 00:06:26 Aaa 1791 0.0 1.2 ? S Aug 13 00:01:10 Tunnel 1793 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=279517763852,279517565226,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology 1794 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1795 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=279733513327,279733258943,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl 1796 0.0 1.2 ? S Aug 13 00:03:19 StpTopology 1797 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1798 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=279939374338,279887740448,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp 1799 0.0 1.4 ? S Aug 13 00:19:20 Acl 1800 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1802 0.0 1.1 ? S Aug 13 00:04:26 Stp 1803 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=280114122924,280113919792,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo 1804 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1805 0.0 1.1 ? S Aug 13 00:01:44 KernelNetworkInfo 1806 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=283609312459,283573711926,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6 1807 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1809 0.0 1.2 ? S Aug 13 00:03:17 McastCommon6 1811 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=283839973599,283788015153,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent 1813 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1815 0.0 1.2 ? S Aug 13 00:03:11 LacpTxAgent 1816 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=284123665160,284036522428,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp 1817 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1818 0.0 1.5 ? S Aug 13 00:04:22 Arp 1820 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=284390286503,284256513379,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib 1821 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1822 0.0 1.4 ? S Aug 13 00:03:24 KernelFib 1824 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=287877695955,287770964417,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos 1825 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1826 0.0 1.2 ? S Aug 13 00:02:37 Qos 1827 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=288015969009,288008313449,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat 1828 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1831 0.0 1.1 ? S Aug 13 00:01:40 Thermostat 1834 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=288430062677,288320872305,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib 1838 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1839 0.0 1.2 ? S Aug 13 00:00:53 L2Rib 1841 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=288639642769,288566958102,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled 1842 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1844 0.0 1.2 ? S Aug 13 00:01:54 TopoAgent 1845 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=292156458136,288755017730,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse 1847 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1848 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=292294904749,292294697982,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager 1849 0.0 1.1 ? S Aug 13 00:00:28 PowerFuse 1852 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1853 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=292452307410,292452110553,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra 1854 0.0 1.1 ? S Aug 13 00:00:28 PowerManager 1856 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1859 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=292715604954,292692638320,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent 1860 0.0 1.4 ? S Aug 13 00:05:30 Ebra 1861 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1864 0.0 1.1 ? S Aug 13 00:00:30 ReloadCauseAgent 1866 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=292863065168,292847136027,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile 1874 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1881 0.0 1.5 ? S Aug 13 00:03:32 IgmpSnooping 1883 0.0 1.1 ? S Aug 13 00:00:30 SharedSecretProfile 1894 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=296809139147,296808906976,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled 1898 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1901 0.0 1.3 ? S Aug 13 00:01:30 StaticRoute 1903 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=296917164765,296916917865,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled 1906 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1907 0.0 1.7 ? S Aug 13 00:08:01 IpRib 1909 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=297076889668,297076654146,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled 1910 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1911 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=297209669171,297209436301,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute 1912 0.0 1.9 ? S Aug 13 00:01:50 BgpCliHelper 1914 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1915 0.0 1.3 ? S Aug 13 00:03:25 ConnectedRoute 1916 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=297333111290,297332906647,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput 1918 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1919 0.0 1.3 ? S Aug 13 00:01:33 RouteInput 1920 0.0 2.3 ? Sl Aug 13 00:13:31 Bgp 1922 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=301070490425,300896034705,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe 1926 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2295 0.0 0.0 ? Ssl Aug 13 00:00:15 /usr/sbin/rsyslogd -n 2356 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=348668178089,348667946331,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager 2360 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2363 0.0 1.1 ? S Aug 13 00:00:31 LicenseManager 2615 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd 2616 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux 2617 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0 2631 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct> 2634 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2615 /var/log/eos-console | sed 's/\(.*\)/\1\r/' 2637 0.0 0.0 ? S Aug 13 00:00:16 /usr/bin/tail -n 0 --retry --follow=name --pid=2615 /var/log/eos-console 2638 0.0 0.0 ? S Aug 13 00:00:00 sed s/\(.*\)/\1\r/ 2660 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=369515596564,369515372050,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec 2661 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2662 0.0 1.2 ? S Aug 13 00:07:27 Ipsec 2671 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1 2699 0.0 0.1 ? Ssl Aug 13 00:00:46 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid 2739 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc 2978 0.0 0.0 ? S 16:07:01 00:00:00 [kworker/0:0] 3281 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Nat --demuxerOpts=1027180400275,1027179642339,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Nat 3289 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3290 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Vxlan --demuxerOpts=1027289964523,1027289360240,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Vxlan 3295 0.0 1.2 ? S Aug 13 00:06:02 Nat 3297 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3301 0.0 1.3 ? S Aug 13 00:03:06 Vxlan 3304 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=VxlanSwFwd --demuxerOpts=1027467071119,1027361358810,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/VxlanSwFwd 3307 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3308 0.0 1.3 ? S Aug 13 00:03:24 VxlanSwFwd 3365 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon 3367 0.0 0.1 ? Ssl Aug 13 00:00:51 /usr/libexec/strongswan/charon --use-syslog 3403 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Fhrp --demuxerOpts=1035728404808,1035728156871,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Fhrp --scheduled 3404 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3929 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:0] 4048 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq 4431 0.0 0.0 ? S Aug 31 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh 5793 0.0 0.0 ? S 16:18:01 00:00:00 [kworker/0:3] 8439 0.0 0.0 ? S 16:24:01 00:00:00 [kworker/0:2] 10887 0.0 0.0 ? S 16:30:01 00:00:00 [kworker/0:1] 13032 0.0 0.0 ? Ss 16:32:02 00:00:00 sshd: [accepted] 13088 0.0 0.0 ? S 16:32:35 00:00:00 sshd: unknown [net] 13443 0.0 0.0 ? Rs 16:32:51 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww 18981 0.0 0.0 ? S Aug 26 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=5050812972099146,5050812971830009,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini 18982 0.0 0.3 ? Ss Aug 26 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 18983 0.0 1.3 ? Sl Aug 26 00:01:11 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 19027 0.0 0.0 ? Ss Aug 26 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid; 19029 0.0 0.1 ? S Aug 26 00:01:08 nginx: worker process 30730 0.0 0.4 ? Sl Aug 17 00:11:05 dockerd -H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock -s overlay 30750 0.0 0.1 ? Ssl Aug 17 00:09:08 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/extension/test_extension.py::ExtensionsTests::test_if_extensions_are_erroring_on_[kg-topology-CloudEOSEdge1] | Verify a list of extension are not erroring on a DUT | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| awslogs.swix extension error is |False| On router |kg-topology-CloudEOSEdge1| awsha.rpm extension error is |False| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_extension.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_extensions_are_erroring_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show extensions| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show extensions| on kg-topology-CloudEOSEdge1 INFO root:test_extension.py:117 TEST is awslogs.swix extension not erroring on |kg-topology-CloudEOSEdge1| INFO root:test_extension.py:119 GIVEN expected awslogs.swix extension status: |False| INFO root:test_extension.py:128 WHEN awslogs.swix extenstion error state is |False| INFO root:test_extension.py:132 THEN test case result is |True| INFO root:test_extension.py:133 OUTPUT of |show extensions| is : Name Version/Release Status Extension ----------------- -------------------- ----------- --------- awsha.rpm 0.1.1/1 A, I 1 awslogs.swix 1.4.0/1.el7 A, I 1 A: available | NA: not available | I: installed | NI: not installed | F: forced S: valid signature | NS: invalid signature INFO root:test_extension.py:117 TEST is awsha.rpm extension not erroring on |kg-topology-CloudEOSEdge1| INFO root:test_extension.py:119 GIVEN expected awsha.rpm extension status: |False| INFO root:test_extension.py:128 WHEN awsha.rpm extenstion error state is |False| INFO root:test_extension.py:132 THEN test case result is |True| INFO root:test_extension.py:133 OUTPUT of |show extensions| is : Name Version/Release Status Extension ----------------- -------------------- ----------- --------- awsha.rpm 0.1.1/1 A, I 1 awslogs.swix 1.4.0/1.el7 A, I 1 A: available | NA: not available | I: installed | NI: not installed | F: forced S: valid signature | NS: invalid signature | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/ntp/test_ntp.py::NTPTests::test_if_process_is_running_on_[kg-topology-CloudEOSEdge1] | Verify ntp processes are running | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| has |1| process for ntpd -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_ntp.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_process_is_running_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show processes| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show processes| on kg-topology-CloudEOSEdge1 INFO root:test_ntp.py:148 TEST is ntpd running on |kg-topology-CloudEOSEdge1| INFO root:test_ntp.py:149 GIVEN ntpd state is |1| INFO root:test_ntp.py:155 WHEN ntpd number is |1| INFO root:test_ntp.py:158 THEN test case result is |True| INFO root:test_ntp.py:159 OUTPUT of |show processes| is : 16:32:51 up 27 days, 15:15, 0 users, load average: 1.82, 1.55, 1.38 PID %CPU %MEM TT STAT STARTED TIME CMD 1928 102 3.7 ? Sl Aug 13 28-06:28:46 Sfe 1725 0.4 2.2 ? Sl Aug 13 03:03:30 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.14.101 -taillogs -grpcaddr=0.0.0.0:6042 1582 0.2 8.6 ? Sl Aug 13 01:20:50 ConfigAgent 4449 0.2 0.6 ? SNl Aug 31 00:28:33 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config 13087 0.2 0.1 ? Ss 16:32:35 00:00:00 sshd: unknown [priv] 1233 0.1 0.9 ? S Aug 13 01:15:08 ProcMgr-worker 3405 0.1 1.4 ? S Aug 13 01:12:09 Fhrp 1 0.0 0.0 ? Ss Aug 13 00:03:49 /sbin/init 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd] 3 0.0 0.0 ? S Aug 13 00:00:22 [ksoftirqd/0] 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H] 7 0.0 0.0 ? S Aug 13 00:00:36 [rcu_preempt] 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched] 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh] 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0] 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain] 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0] 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0] 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1] 15 0.0 0.0 ? S Aug 13 00:00:02 [watchdog/1] 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1] 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1] 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0] 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H] 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2] 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2] 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2] 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2] 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0] 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H] 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3] 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3] 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3] 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3] 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0] 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H] 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs] 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns] 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd] 35 0.0 0.0 ? S Aug 13 00:01:07 [khungtaskd2] 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper] 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback] 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0] 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto] 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd] 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd] 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff] 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller] 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task] 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd] 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd] 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl] 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod] 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod] 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0] 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat] 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod] 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd] 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme] 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd] 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf] 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq] 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-] 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver] 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H] 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0] 343 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:2] 380 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd 407 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f 499 0.0 0.0 ? S< Aug 13 00:00:00 [ena] 747 0.0 0.1 ? Ss Aug 13 00:02:19 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 759 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1] 778 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground 782 0.0 0.0 ? Ss Aug 13 00:00:48 /usr/bin/ProcMonitor 789 0.0 0.0 ? Ss Aug 13 00:01:05 /usr/lib/systemd/systemd-logind 807 0.0 0.0 ? Ss Aug 13 00:00:12 /usr/sbin/crond -n 819 0.0 0.0 ? S<s Aug 13 00:00:17 /usr/bin/wdogdev -t 60 824 0.0 0.0 ? Ss Aug 13 00:00:03 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid 1005 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local 1007 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1017 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys 1018 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1034 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil 1038 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure 1039 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1064 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon 1179 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1180 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1213 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm 1216 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1218 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1232 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master 1478 0.0 0.0 ? S Aug 13 00:09:04 /usr/bin/EosOomAdjust 1486 0.0 0.0 ? S Aug 13 00:00:15 [rbfd_vrf_cleanu] 1501 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid 1538 0.0 0.0 ? S Aug 13 00:01:58 /usr/bin/SlabMonitor 1539 0.0 2.6 ? S Aug 13 00:38:33 Sysdb 1581 0.0 1.2 ? S Aug 13 00:00:34 StageMgr 1584 0.0 1.4 ? S Aug 13 00:01:46 Fru 1585 0.0 1.8 ? S Aug 13 00:00:56 Launcher 1714 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=267046295036,267046027633,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp 1715 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1717 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=267080979441,267080797725,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon 1718 0.0 1.2 ? S Aug 13 00:07:18 Lldp 1719 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1720 0.0 1.2 ? S Aug 13 00:03:02 McastCommon 1722 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=267138688824,267130622391,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec 1724 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1726 0.0 1.1 ? S Aug 13 00:02:04 PortSec 1739 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H] 1744 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=270600496842,267232117674,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd 1745 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1746 0.0 1.4 ? S Aug 13 00:03:58 Bfd 1747 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=271099376041,271003644947,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag 1750 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1751 0.0 1.3 ? S Aug 13 00:14:10 Lag 1754 0.0 1.7 ? S Aug 13 00:27:08 SuperServer 1767 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=275033642113,271344907121,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira 1768 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1769 0.0 1.5 ? S Aug 13 00:03:27 Ira 1772 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=275203075095,275062053558,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy 1773 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1774 0.0 1.2 ? S Aug 13 00:02:48 LedPolicy 1775 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=275412252849,275377553919,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr 1776 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1777 0.0 1.3 ? S Aug 13 00:06:40 EventMgr 1778 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=275530943653,275498520824,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx 1779 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1780 0.0 1.2 ? S Aug 13 00:22:41 StpTxRx 1781 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=275673918628,275618185987,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld 1783 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1784 0.0 1.1 ? S Aug 13 00:00:30 StandbyCpld 1785 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=275814961243,275751809451,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor 1786 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1787 0.0 1.0 ? S Aug 13 00:32:46 AgentMonitor 1788 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=279268129963,279198956916,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel 1789 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1790 0.0 1.6 ? Sl Aug 13 00:06:26 Aaa 1791 0.0 1.2 ? S Aug 13 00:01:10 Tunnel 1793 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=279517763852,279517565226,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology 1794 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1795 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=279733513327,279733258943,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl 1796 0.0 1.2 ? S Aug 13 00:03:19 StpTopology 1797 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1798 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=279939374338,279887740448,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp 1799 0.0 1.4 ? S Aug 13 00:19:20 Acl 1800 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1802 0.0 1.1 ? S Aug 13 00:04:26 Stp 1803 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=280114122924,280113919792,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo 1804 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1805 0.0 1.1 ? S Aug 13 00:01:44 KernelNetworkInfo 1806 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=283609312459,283573711926,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6 1807 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1809 0.0 1.2 ? S Aug 13 00:03:17 McastCommon6 1811 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=283839973599,283788015153,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent 1813 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1815 0.0 1.2 ? S Aug 13 00:03:11 LacpTxAgent 1816 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=284123665160,284036522428,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp 1817 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1818 0.0 1.5 ? S Aug 13 00:04:22 Arp 1820 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=284390286503,284256513379,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib 1821 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1822 0.0 1.4 ? S Aug 13 00:03:24 KernelFib 1824 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=287877695955,287770964417,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos 1825 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1826 0.0 1.2 ? S Aug 13 00:02:37 Qos 1827 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=288015969009,288008313449,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat 1828 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1831 0.0 1.1 ? S Aug 13 00:01:40 Thermostat 1834 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=288430062677,288320872305,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib 1838 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1839 0.0 1.2 ? S Aug 13 00:00:53 L2Rib 1841 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=288639642769,288566958102,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled 1842 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1844 0.0 1.2 ? S Aug 13 00:01:54 TopoAgent 1845 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=292156458136,288755017730,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse 1847 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1848 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=292294904749,292294697982,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager 1849 0.0 1.1 ? S Aug 13 00:00:28 PowerFuse 1852 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1853 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=292452307410,292452110553,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra 1854 0.0 1.1 ? S Aug 13 00:00:28 PowerManager 1856 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1859 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=292715604954,292692638320,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent 1860 0.0 1.4 ? S Aug 13 00:05:30 Ebra 1861 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1864 0.0 1.1 ? S Aug 13 00:00:30 ReloadCauseAgent 1866 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=292863065168,292847136027,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile 1874 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1881 0.0 1.5 ? S Aug 13 00:03:32 IgmpSnooping 1883 0.0 1.1 ? S Aug 13 00:00:30 SharedSecretProfile 1894 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=296809139147,296808906976,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled 1898 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1901 0.0 1.3 ? S Aug 13 00:01:30 StaticRoute 1903 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=296917164765,296916917865,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled 1906 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1907 0.0 1.7 ? S Aug 13 00:08:01 IpRib 1909 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=297076889668,297076654146,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled 1910 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1911 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=297209669171,297209436301,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute 1912 0.0 1.9 ? S Aug 13 00:01:50 BgpCliHelper 1914 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1915 0.0 1.3 ? S Aug 13 00:03:25 ConnectedRoute 1916 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=297333111290,297332906647,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput 1918 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1919 0.0 1.3 ? S Aug 13 00:01:33 RouteInput 1920 0.0 2.3 ? Sl Aug 13 00:13:31 Bgp 1922 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=301070490425,300896034705,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe 1926 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2295 0.0 0.0 ? Ssl Aug 13 00:00:15 /usr/sbin/rsyslogd -n 2356 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=348668178089,348667946331,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager 2360 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2363 0.0 1.1 ? S Aug 13 00:00:31 LicenseManager 2615 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd 2616 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux 2617 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0 2631 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct> 2634 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2615 /var/log/eos-console | sed 's/\(.*\)/\1\r/' 2637 0.0 0.0 ? S Aug 13 00:00:16 /usr/bin/tail -n 0 --retry --follow=name --pid=2615 /var/log/eos-console 2638 0.0 0.0 ? S Aug 13 00:00:00 sed s/\(.*\)/\1\r/ 2660 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=369515596564,369515372050,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec 2661 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2662 0.0 1.2 ? S Aug 13 00:07:27 Ipsec 2671 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1 2699 0.0 0.1 ? Ssl Aug 13 00:00:46 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid 2739 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc 2978 0.0 0.0 ? S 16:07:01 00:00:00 [kworker/0:0] 3281 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Nat --demuxerOpts=1027180400275,1027179642339,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Nat 3289 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3290 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Vxlan --demuxerOpts=1027289964523,1027289360240,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Vxlan 3295 0.0 1.2 ? S Aug 13 00:06:02 Nat 3297 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3301 0.0 1.3 ? S Aug 13 00:03:06 Vxlan 3304 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=VxlanSwFwd --demuxerOpts=1027467071119,1027361358810,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/VxlanSwFwd 3307 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3308 0.0 1.3 ? S Aug 13 00:03:24 VxlanSwFwd 3365 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon 3367 0.0 0.1 ? Ssl Aug 13 00:00:51 /usr/libexec/strongswan/charon --use-syslog 3403 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Fhrp --demuxerOpts=1035728404808,1035728156871,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Fhrp --scheduled 3404 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3929 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:0] 4048 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq 4431 0.0 0.0 ? S Aug 31 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh 5793 0.0 0.0 ? S 16:18:01 00:00:00 [kworker/0:3] 8439 0.0 0.0 ? S 16:24:01 00:00:00 [kworker/0:2] 10887 0.0 0.0 ? S 16:30:01 00:00:00 [kworker/0:1] 13032 0.0 0.0 ? Ss 16:32:02 00:00:00 sshd: [accepted] 13088 0.0 0.0 ? S 16:32:35 00:00:00 sshd: unknown [net] 13439 0.0 0.0 ? Rs 16:32:51 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww 18981 0.0 0.0 ? S Aug 26 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=5050812972099146,5050812971830009,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini 18982 0.0 0.3 ? Ss Aug 26 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 18983 0.0 1.3 ? Sl Aug 26 00:01:11 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 19027 0.0 0.0 ? Ss Aug 26 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid; 19029 0.0 0.1 ? S Aug 26 00:01:08 nginx: worker process 30730 0.0 0.4 ? Sl Aug 17 00:11:05 dockerd -H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock -s overlay 30750 0.0 0.1 ? Ssl Aug 17 00:09:08 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/daemon/test_daemon.py::DaemonTests::test_if_daemons_are_running_on_[kg-topology-CloudEOSEdge1] | Verify a list of daemons are running on DUT | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1|: TerminAttr daemon running is |True| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_daemon.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_daemons_are_running_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show daemon| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show daemon| on kg-topology-CloudEOSEdge1 INFO root:test_daemon.py:73 TEST is TerminAttr daemon running on |kg-topology-CloudEOSEdge1| INFO root:test_daemon.py:74 GIVEN expected TerminAttr running state: |True| INFO root:test_daemon.py:79 WHEN TerminAttr device running state is |True| INFO root:test_daemon.py:83 THEN test case result is |True| INFO root:test_daemon.py:84 OUTPUT of |show daemon| is : Process: TerminAttr (running with PID 1725) Uptime: 27 days, 15:14:20 (Start time: Thu Aug 13 01:18:37 2020) No configuration options stored. No status data stored. | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/interface/test_interface.py::InterfacePhyTests::test_if_intf_phy_status_connected_on_[kg-topology-CloudEOSEdge1] | Verify the interfaces of interest physical state is link up | 0.07 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ kg-topology-CloudEOSEdge1 is a VEOS instance so test NOT valid -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_interface.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_intf_phy_status_connected_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None} INFO root:tests_tools.py:356 Verify if show command |show interfaces phy detail| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show interfaces phy detail| on kg-topology-CloudEOSEdge1 INFO root:tests_tools.py:399 Verify if kg-topology-CloudEOSEdge1 DUT is a VEOS instance INFO root:tests_tools.py:403 kg-topology-CloudEOSEdge1 is a VEOS instance so returning True INFO root:tests_tools.py:469 Find Index for test suite: test_interface.py on dut kg-topology-CloudEOSEdge1 INFO root:tests_tools.py:473 Test suite test_interface.py exists in results file at index 0 INFO root:tests_tools.py:480 Find Index for test case: test_if_intf_phy_status_connected_on_ on dut kg-topology-CloudEOSEdge1 INFO root:tests_tools.py:484 Test case test_if_intf_phy_status_connected_on_ exists in results file at index 1 INFO root:tests_tools.py:491 Add DUT kg-topology-CloudEOSEdge1 to test case test_if_intf_phy_status_connected_on_ with parameters {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None, 'actual_output': None, 'test_result': None, 'dut': 'kg-topology-CloudEOSEdge1'} | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/tacacs/test_tacacs.py::TacacsTests::test_if_tacacs_is_sending_messages_on_[kg-topology-CloudEOSEdge1] | Verify tacacs messages are sending correctly | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| does not have TACACS servers configured -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_tacacs.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_tacacs_is_sending_messages_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show tacacs| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show tacacs| on kg-topology-CloudEOSEdge1 INFO root:tests_tools.py:377 Verify if tacacs server(s) are configured on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:383 0 tacacs serverws are configured so returning False INFO root:test_tacacs.py:73 TEST is |kg-topology-CloudEOSEdge1| sending messages to TACACS server | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/daemon/test_daemon.py::DaemonTests::test_if_daemons_are_enabled_on_[kg-topology-CloudEOSEdge1] | Verify a list of daemons are enabled on DUT | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1|: TerminAttr daemon enabled is |True| and expected value is |True|. Test result is True -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_daemon.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_daemons_are_enabled_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True} INFO root:test_daemon.py:105 TEST is terminattr daemon enabled on |kg-topology-CloudEOSEdge1| INFO root:test_daemon.py:106 GIVEN expected terminattr​ enabled state: |True| INFO root:tests_tools.py:356 Verify if show command |show daemon| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show daemon| on kg-topology-CloudEOSEdge1 INFO root:test_daemon.py:114 WHEN terminattr​ device enabled state is |True| INFO root:test_daemon.py:118 THEN test case result is |True| INFO root:test_daemon.py:119 OUTPUT of |show daemon|: Process: TerminAttr (running with PID 1725) Uptime: 27 days, 15:14:20 (Start time: Thu Aug 13 01:18:37 2020) No configuration options stored. No status data stored. | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/logging/test_logging.py::LoggingTests::test_if_log_messages_appear_on_[kg-topology-CloudEOSEdge1] | Verify local log messages | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| message |critical| NOT found in local log On router |kg-topology-CloudEOSEdge1| message |warning| NOT found in local log On router |kg-topology-CloudEOSEdge1| message |ECC| NOT found in local log On router |kg-topology-CloudEOSEdge1| message |servers errors| NOT found in local log On router |kg-topology-CloudEOSEdge1| message |parity| NOT found in local log -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_logging.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_log_messages_appear_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show logging| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show logging| on kg-topology-CloudEOSEdge1 INFO root:test_logging.py:74 TEST for local log message critical on |kg-topology-CloudEOSEdge1| INFO root:test_logging.py:86 THEN test case result is |Passed| INFO root:test_logging.py:87 OUTPUT of |show logging| is : Syslog logging: enabled Buffer logging: level debugging Console logging: level errors Persistent logging: disabled Monitor logging: level errors Synchronous logging: disabled Trap logging: level informational Sequence numbers: disabled Syslog facility: local4 Hostname format: Hostname only Repeat logging interval: disabled Repeat messages: disabled Facility Severity Effective Severity -------------------- ------------- ------------------ aaa debugging debugging accounting debugging debugging acl debugging debugging agent debugging debugging ale debugging debugging arp debugging debugging bfd debugging debugging bgp debugging debugging bmp debugging debugging capacity debugging debugging capi debugging debugging clear debugging debugging cvx debugging debugging dataplane debugging debugging dhcp debugging debugging dot1x debugging debugging dscp debugging debugging envmon debugging debugging eth debugging debugging eventmon debugging debugging extension debugging debugging fhrp debugging debugging flow debugging debugging forwarding debugging debugging fru debugging debugging fwk debugging debugging gmp debugging debugging hardware debugging debugging health debugging debugging httpservice debugging debugging igmp debugging debugging igmpsnooping debugging debugging int debugging debugging intf debugging debugging ip6routing debugging debugging iprib debugging debugging ira debugging debugging isis debugging debugging kernelfib debugging debugging lacp debugging debugging lag debugging debugging launcher debugging debugging ldp debugging debugging license debugging debugging lineproto debugging debugging lldp debugging debugging loadbalancer debugging debugging logmgr debugging debugging loopback debugging debugging loopprotect debugging debugging mapreducemonitor debugging debugging mcs debugging debugging mirroring debugging debugging mka debugging debugging mlag debugging debugging mldsnooping debugging debugging mmode debugging debugging mroute debugging debugging mrp debugging debugging msdp debugging debugging msrp debugging debugging msspolicymonitor debugging debugging mvrp debugging debugging nat debugging debugging openconfig debugging debugging openflow debugging debugging ospf debugging debugging ospf3 debugging debugging package debugging debugging pfc debugging debugging pimbsr debugging debugging portsecurity debugging debugging ptp debugging debugging pwrmgmt debugging debugging qos debugging debugging queuemonitor debugging debugging radius debugging debugging redundancy debugging debugging rib debugging debugging routing debugging debugging security debugging debugging servermonitor debugging debugging spantree debugging debugging sso debugging debugging stagemgr debugging debugging sys debugging debugging sysdb debugging debugging tapagg debugging debugging tcp debugging debugging transceiver debugging debugging tunnel debugging debugging tunnelintf debugging debugging vmtracersess debugging debugging vmwarevi debugging debugging vmwarevs debugging debugging vrf debugging debugging vrrp debugging debugging vxlan debugging debugging xmpp debugging debugging ztp debugging debugging Log Buffer: Sep 9 16:14:19 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:14:31 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:14:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:03 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:27 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:38 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:47 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:20:46 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:11 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:21:27 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:36 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:18 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:45 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:55 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:24:04 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:13 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:37 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:48 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:57 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:16 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:54 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:27:03 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:30:42 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:07 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:21 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:29 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:43 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:08 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:19 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:28 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] INFO root:test_logging.py:74 TEST for local log message warning on |kg-topology-CloudEOSEdge1| INFO root:test_logging.py:86 THEN test case result is |Passed| INFO root:test_logging.py:87 OUTPUT of |show logging| is : Syslog logging: enabled Buffer logging: level debugging Console logging: level errors Persistent logging: disabled Monitor logging: level errors Synchronous logging: disabled Trap logging: level informational Sequence numbers: disabled Syslog facility: local4 Hostname format: Hostname only Repeat logging interval: disabled Repeat messages: disabled Facility Severity Effective Severity -------------------- ------------- ------------------ aaa debugging debugging accounting debugging debugging acl debugging debugging agent debugging debugging ale debugging debugging arp debugging debugging bfd debugging debugging bgp debugging debugging bmp debugging debugging capacity debugging debugging capi debugging debugging clear debugging debugging cvx debugging debugging dataplane debugging debugging dhcp debugging debugging dot1x debugging debugging dscp debugging debugging envmon debugging debugging eth debugging debugging eventmon debugging debugging extension debugging debugging fhrp debugging debugging flow debugging debugging forwarding debugging debugging fru debugging debugging fwk debugging debugging gmp debugging debugging hardware debugging debugging health debugging debugging httpservice debugging debugging igmp debugging debugging igmpsnooping debugging debugging int debugging debugging intf debugging debugging ip6routing debugging debugging iprib debugging debugging ira debugging debugging isis debugging debugging kernelfib debugging debugging lacp debugging debugging lag debugging debugging launcher debugging debugging ldp debugging debugging license debugging debugging lineproto debugging debugging lldp debugging debugging loadbalancer debugging debugging logmgr debugging debugging loopback debugging debugging loopprotect debugging debugging mapreducemonitor debugging debugging mcs debugging debugging mirroring debugging debugging mka debugging debugging mlag debugging debugging mldsnooping debugging debugging mmode debugging debugging mroute debugging debugging mrp debugging debugging msdp debugging debugging msrp debugging debugging msspolicymonitor debugging debugging mvrp debugging debugging nat debugging debugging openconfig debugging debugging openflow debugging debugging ospf debugging debugging ospf3 debugging debugging package debugging debugging pfc debugging debugging pimbsr debugging debugging portsecurity debugging debugging ptp debugging debugging pwrmgmt debugging debugging qos debugging debugging queuemonitor debugging debugging radius debugging debugging redundancy debugging debugging rib debugging debugging routing debugging debugging security debugging debugging servermonitor debugging debugging spantree debugging debugging sso debugging debugging stagemgr debugging debugging sys debugging debugging sysdb debugging debugging tapagg debugging debugging tcp debugging debugging transceiver debugging debugging tunnel debugging debugging tunnelintf debugging debugging vmtracersess debugging debugging vmwarevi debugging debugging vmwarevs debugging debugging vrf debugging debugging vrrp debugging debugging vxlan debugging debugging xmpp debugging debugging ztp debugging debugging Log Buffer: Sep 9 16:14:19 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:14:31 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:14:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:03 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:27 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:38 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:47 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:20:46 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:11 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:21:27 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:36 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:18 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:45 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:55 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:24:04 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:13 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:37 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:48 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:57 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:16 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:54 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:27:03 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:30:42 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:07 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:21 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:29 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:43 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:08 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:19 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:28 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] INFO root:test_logging.py:74 TEST for local log message ECC on |kg-topology-CloudEOSEdge1| INFO root:test_logging.py:86 THEN test case result is |Passed| INFO root:test_logging.py:87 OUTPUT of |show logging| is : Syslog logging: enabled Buffer logging: level debugging Console logging: level errors Persistent logging: disabled Monitor logging: level errors Synchronous logging: disabled Trap logging: level informational Sequence numbers: disabled Syslog facility: local4 Hostname format: Hostname only Repeat logging interval: disabled Repeat messages: disabled Facility Severity Effective Severity -------------------- ------------- ------------------ aaa debugging debugging accounting debugging debugging acl debugging debugging agent debugging debugging ale debugging debugging arp debugging debugging bfd debugging debugging bgp debugging debugging bmp debugging debugging capacity debugging debugging capi debugging debugging clear debugging debugging cvx debugging debugging dataplane debugging debugging dhcp debugging debugging dot1x debugging debugging dscp debugging debugging envmon debugging debugging eth debugging debugging eventmon debugging debugging extension debugging debugging fhrp debugging debugging flow debugging debugging forwarding debugging debugging fru debugging debugging fwk debugging debugging gmp debugging debugging hardware debugging debugging health debugging debugging httpservice debugging debugging igmp debugging debugging igmpsnooping debugging debugging int debugging debugging intf debugging debugging ip6routing debugging debugging iprib debugging debugging ira debugging debugging isis debugging debugging kernelfib debugging debugging lacp debugging debugging lag debugging debugging launcher debugging debugging ldp debugging debugging license debugging debugging lineproto debugging debugging lldp debugging debugging loadbalancer debugging debugging logmgr debugging debugging loopback debugging debugging loopprotect debugging debugging mapreducemonitor debugging debugging mcs debugging debugging mirroring debugging debugging mka debugging debugging mlag debugging debugging mldsnooping debugging debugging mmode debugging debugging mroute debugging debugging mrp debugging debugging msdp debugging debugging msrp debugging debugging msspolicymonitor debugging debugging mvrp debugging debugging nat debugging debugging openconfig debugging debugging openflow debugging debugging ospf debugging debugging ospf3 debugging debugging package debugging debugging pfc debugging debugging pimbsr debugging debugging portsecurity debugging debugging ptp debugging debugging pwrmgmt debugging debugging qos debugging debugging queuemonitor debugging debugging radius debugging debugging redundancy debugging debugging rib debugging debugging routing debugging debugging security debugging debugging servermonitor debugging debugging spantree debugging debugging sso debugging debugging stagemgr debugging debugging sys debugging debugging sysdb debugging debugging tapagg debugging debugging tcp debugging debugging transceiver debugging debugging tunnel debugging debugging tunnelintf debugging debugging vmtracersess debugging debugging vmwarevi debugging debugging vmwarevs debugging debugging vrf debugging debugging vrrp debugging debugging vxlan debugging debugging xmpp debugging debugging ztp debugging debugging Log Buffer: Sep 9 16:14:19 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:14:31 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:14:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:03 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:27 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:38 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:47 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:20:46 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:11 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:21:27 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:36 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:18 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:45 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:55 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:24:04 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:13 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:37 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:48 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:57 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:16 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:54 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:27:03 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:30:42 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:07 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:21 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:29 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:43 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:08 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:19 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:28 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] INFO root:test_logging.py:74 TEST for local log message servers errors on |kg-topology-CloudEOSEdge1| INFO root:test_logging.py:86 THEN test case result is |Passed| INFO root:test_logging.py:87 OUTPUT of |show logging| is : Syslog logging: enabled Buffer logging: level debugging Console logging: level errors Persistent logging: disabled Monitor logging: level errors Synchronous logging: disabled Trap logging: level informational Sequence numbers: disabled Syslog facility: local4 Hostname format: Hostname only Repeat logging interval: disabled Repeat messages: disabled Facility Severity Effective Severity -------------------- ------------- ------------------ aaa debugging debugging accounting debugging debugging acl debugging debugging agent debugging debugging ale debugging debugging arp debugging debugging bfd debugging debugging bgp debugging debugging bmp debugging debugging capacity debugging debugging capi debugging debugging clear debugging debugging cvx debugging debugging dataplane debugging debugging dhcp debugging debugging dot1x debugging debugging dscp debugging debugging envmon debugging debugging eth debugging debugging eventmon debugging debugging extension debugging debugging fhrp debugging debugging flow debugging debugging forwarding debugging debugging fru debugging debugging fwk debugging debugging gmp debugging debugging hardware debugging debugging health debugging debugging httpservice debugging debugging igmp debugging debugging igmpsnooping debugging debugging int debugging debugging intf debugging debugging ip6routing debugging debugging iprib debugging debugging ira debugging debugging isis debugging debugging kernelfib debugging debugging lacp debugging debugging lag debugging debugging launcher debugging debugging ldp debugging debugging license debugging debugging lineproto debugging debugging lldp debugging debugging loadbalancer debugging debugging logmgr debugging debugging loopback debugging debugging loopprotect debugging debugging mapreducemonitor debugging debugging mcs debugging debugging mirroring debugging debugging mka debugging debugging mlag debugging debugging mldsnooping debugging debugging mmode debugging debugging mroute debugging debugging mrp debugging debugging msdp debugging debugging msrp debugging debugging msspolicymonitor debugging debugging mvrp debugging debugging nat debugging debugging openconfig debugging debugging openflow debugging debugging ospf debugging debugging ospf3 debugging debugging package debugging debugging pfc debugging debugging pimbsr debugging debugging portsecurity debugging debugging ptp debugging debugging pwrmgmt debugging debugging qos debugging debugging queuemonitor debugging debugging radius debugging debugging redundancy debugging debugging rib debugging debugging routing debugging debugging security debugging debugging servermonitor debugging debugging spantree debugging debugging sso debugging debugging stagemgr debugging debugging sys debugging debugging sysdb debugging debugging tapagg debugging debugging tcp debugging debugging transceiver debugging debugging tunnel debugging debugging tunnelintf debugging debugging vmtracersess debugging debugging vmwarevi debugging debugging vmwarevs debugging debugging vrf debugging debugging vrrp debugging debugging vxlan debugging debugging xmpp debugging debugging ztp debugging debugging Log Buffer: Sep 9 16:14:19 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:14:31 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:14:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:03 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:27 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:38 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:47 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:20:46 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:11 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:21:27 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:36 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:18 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:45 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:55 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:24:04 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:13 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:37 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:48 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:57 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:16 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:54 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:27:03 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:30:42 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:07 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:21 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:29 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:43 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:08 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:19 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:28 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] INFO root:test_logging.py:74 TEST for local log message parity on |kg-topology-CloudEOSEdge1| INFO root:test_logging.py:86 THEN test case result is |Passed| INFO root:test_logging.py:87 OUTPUT of |show logging| is : Syslog logging: enabled Buffer logging: level debugging Console logging: level errors Persistent logging: disabled Monitor logging: level errors Synchronous logging: disabled Trap logging: level informational Sequence numbers: disabled Syslog facility: local4 Hostname format: Hostname only Repeat logging interval: disabled Repeat messages: disabled Facility Severity Effective Severity -------------------- ------------- ------------------ aaa debugging debugging accounting debugging debugging acl debugging debugging agent debugging debugging ale debugging debugging arp debugging debugging bfd debugging debugging bgp debugging debugging bmp debugging debugging capacity debugging debugging capi debugging debugging clear debugging debugging cvx debugging debugging dataplane debugging debugging dhcp debugging debugging dot1x debugging debugging dscp debugging debugging envmon debugging debugging eth debugging debugging eventmon debugging debugging extension debugging debugging fhrp debugging debugging flow debugging debugging forwarding debugging debugging fru debugging debugging fwk debugging debugging gmp debugging debugging hardware debugging debugging health debugging debugging httpservice debugging debugging igmp debugging debugging igmpsnooping debugging debugging int debugging debugging intf debugging debugging ip6routing debugging debugging iprib debugging debugging ira debugging debugging isis debugging debugging kernelfib debugging debugging lacp debugging debugging lag debugging debugging launcher debugging debugging ldp debugging debugging license debugging debugging lineproto debugging debugging lldp debugging debugging loadbalancer debugging debugging logmgr debugging debugging loopback debugging debugging loopprotect debugging debugging mapreducemonitor debugging debugging mcs debugging debugging mirroring debugging debugging mka debugging debugging mlag debugging debugging mldsnooping debugging debugging mmode debugging debugging mroute debugging debugging mrp debugging debugging msdp debugging debugging msrp debugging debugging msspolicymonitor debugging debugging mvrp debugging debugging nat debugging debugging openconfig debugging debugging openflow debugging debugging ospf debugging debugging ospf3 debugging debugging package debugging debugging pfc debugging debugging pimbsr debugging debugging portsecurity debugging debugging ptp debugging debugging pwrmgmt debugging debugging qos debugging debugging queuemonitor debugging debugging radius debugging debugging redundancy debugging debugging rib debugging debugging routing debugging debugging security debugging debugging servermonitor debugging debugging spantree debugging debugging sso debugging debugging stagemgr debugging debugging sys debugging debugging sysdb debugging debugging tapagg debugging debugging tcp debugging debugging transceiver debugging debugging tunnel debugging debugging tunnelintf debugging debugging vmtracersess debugging debugging vmwarevi debugging debugging vmwarevs debugging debugging vrf debugging debugging vrrp debugging debugging vxlan debugging debugging xmpp debugging debugging ztp debugging debugging Log Buffer: Sep 9 16:14:19 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:14:31 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:14:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:03 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:27 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:38 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:47 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:20:46 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:11 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:21:27 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:36 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:18 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:45 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:55 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:24:04 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:13 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:37 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:48 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:57 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:16 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:54 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:27:03 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:30:42 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:07 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:21 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:29 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:43 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:08 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:19 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:28 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/tacacs/test_tacacs.py::TacacsTests::test_if_tacacs_is_receiving_messages_on_[kg-topology-CloudEOSEdge1] | Verify tacacs messages are received correctly | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| does not have TACACS servers configured -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_tacacs.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_tacacs_is_receiving_messages_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show tacacs| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show tacacs| on kg-topology-CloudEOSEdge1 INFO root:tests_tools.py:377 Verify if tacacs server(s) are configured on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:383 0 tacacs serverws are configured so returning False INFO root:test_tacacs.py:136 TEST is |kg-topology-CloudEOSEdge1| receiving messages to TACACS server | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/aaa/test_aaa.py::AAATests::test_if_aaa_session_logging_is_working_on_[kg-topology-CloudEOSEdge2] | Verify AAA session logging is working by identifying eapi connection | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| identified eAPi AAA session: |commandApi| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_aaa_session_logging_is_working_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show users detail| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show users detail| on kg-topology-CloudEOSEdge2 INFO root:test_aaa.py:130 TEST is |kg-topology-CloudEOSEdge2| AAA session logging is working by identifying eapi connection INFO root:test_aaa.py:138 GIVEN commandApi is nonInteractive sessions INFO root:test_aaa.py:139 WHEN commandApi is nonInteractive sessions INFO root:test_aaa.py:154 THEN test case result is |True| INFO root:test_aaa.py:155 OUTPUT of |show users detail| is : Session Username Roles TTY State Duration Auth Remote Host -------- --------- ------- ------------- ------- ---------- ------- ----------- 75744 kgrozis command-api E 0:00:14 local | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/filesystem/test_filesystem.py::FileSystemTests::test_if_files_on_[kg-topology-CloudEOSEdge1] | Verify filesystem is correct and expected files are present | 1.04 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1|: flash:startup-config file isDir state is |False| On router |kg-topology-CloudEOSEdge1|: flash:veos-config file isDir state is |False| On router |kg-topology-CloudEOSEdge1|: flash:zerotouch-config file isDir state is |False| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_filesystem.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_files_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True} INFO root:test_filesystem.py:70 TEST is flash:startup-config file present on |kg-topology-CloudEOSEdge1| INFO root:test_filesystem.py:71 GIVEN expected flash:startup-config isDir state: |False| INFO root:tests_tools.py:245 Raw Input for return_show_cmd show_cmd: show file information flash:startup-config dut: {'connection': Node(connection=EapiConnection(transport=https://3.132.90.164:443//command-api)), 'name': 'kg-topology-CloudEOSEdge1', 'output': {'interface_list': [{'hostname': 'kg-topology-CloudEOSEdge1', 'interface_name': 'Ethernet1', 'z_hostname': 'spine01', 'z_interface_name': 'Ethernet2', 'media_type': ''}, {'hostname': 'kg-topology-CloudEOSEdge1', 'interface_name': 'Ethernet2', 'z_hostname': 'leaf01', 'z_interface_name': 'Ethernet2', 'media_type': ''}], 'show interfaces status': {'json': {'interfaceStatuses': {'Ethernet2.102': {'vlanInformation': {'interfaceMode': 'encap', 'vlanId': 102, 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': 'dot1q-encapsulation', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'encapsulation': {'encapsulationType': 'dot1q', 'dot1qVlanTags': [102]}, 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet2': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet100': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 10000000000, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet1': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}}}, 'text': 'Port Name Status Vlan Duplex Speed Type Flags Encapsulation\nEt1 connected routed full unconf 10/100/1000 \nEt2 connected routed full unconf 10/100/1000 \nEt2.102 connected routed full unconf dot1q-encapsulation 102 \nEt100 connected routed full 10G 10/100/1000 \n\n'}, 'show interfaces phy detail': {'json': {'interfacePhyStatuses': {}}, 'text': ''}, 'show hostname': {'json': {'fqdn': 'kg-topology-CloudEOSEdge1', 'hostname': 'kg-topology-CloudEOSEdge1'}, 'text': 'Hostname: kg-topology-CloudEOSEdge1\nFQDN: kg-topology-CloudEOSEdge1\n'}, 'show extensions': {'json': {'extensions': {'awslogs.swix': {'status': 'installed', 'vendor': 'Amazon <UNKNOWN>', 'description': ' awsclicwlogs This awscli plugin provides the pull, push and filter commands to\naccess AWS CloudWatch Logs service. The awsclicwlogs package works on Python\nversions:* 2.6.5 and greater * 2.7.x and greater * 3.3.x and greater\nInstallation The easiest way to install awsclicwlogs is to use pip_:: $ pip\ninstall awsclicwlogsor, if you are not installing in a virtualenv:: $ sudo pip\ninstall ...', 'presence': 'present', 'rpms': {'awslogs.noarch.rpm': {'release': '1.el7', 'version': '1.4.0'}}, 'summary': 'AWSCLI CloudWatch Logs plugin', 'version': '1.4.0', 'numRpms': 1, 'error': False, 'release': '1.el7', 'installedSize': 23414055}, 'awsha.rpm': {'status': 'installed', 'vendor': '', 'description': 'Aws HA', 'presence': 'present', 'rpms': {'awsha.rpm': {'release': '1', 'version': '0.1.1'}}, 'summary': 'Aws HA', 'version': '0.1.1', 'numRpms': 1, 'error': False, 'release': '1', 'installedSize': 10073042}}}, 'text': 'Name Version/Release Status Extension\n----------------- -------------------- ----------- ---------\nawsha.rpm 0.1.1/1 A, I 1 \nawslogs.swix 1.4.0/1.el7 A, I 1 \n\n\nA: available | NA: not available | I: installed | NI: not installed | F: forced\nS: valid signature | NS: invalid signature\n'}, 'show version': {'json': {'memTotal': 7818736, 'uptime': 2387716.94, 'modelName': 'vEOS', 'internalVersion': '4.23.1F-cloud-16179785.jakartarel', 'mfgName': 'Arista', 'serialNumber': 'DB3968957436BF7623C810C9F13FC97E', 'systemMacAddress': '02:9e:d2:0a:bb:fc', 'bootupTimestamp': 1597281454.0, 'memFree': 2804268, 'version': '4.23.1F-cloud-16179785.jakartarel (engineering build)', 'configMacAddress': '00:00:00:00:00:00', 'isIntlVersion': False, 'internalBuildId': '6bc96200-86c1-4e86-bed7-8280a6802809', 'hardwareRevision': '', 'hwMacAddress': '00:00:00:00:00:00', 'architecture': 'x86_64'}, 'text': 'Arista vEOS\nHardware version: \nSerial number: DB3968957436BF7623C810C9F13FC97E\nSystem MAC address: 029e.d20a.bbfc\n\nSoftware image version: 4.23.1F-cloud-16179785.jakartarel (engineering build)\nArchitecture: x86_64\nInternal build version: 4.23.1F-cloud-16179785.jakartarel\nInternal build ID: 6bc96200-86c1-4e86-bed7-8280a6802809\n\nUptime: 3 weeks, 6 days, 15 hours and 15 minutes\nTotal memory: 7818736 kB\nFree memory: 2803948 kB\n\n'}, 'show processes': {'json': {'processes': {'1928': {'totalActiveTime': 2442526, 'memPct': 3.7, 'cpuPct': 102.0, 'startTime': 1597281524.0, 'cmd': 'Sfe', 'state': 'Sl', 'ttyName': '?'}, '1725': {'totalActiveTime': 11010, 'memPct': 2.2, 'cpuPct': 0.4, 'startTime': 1597281516.0, 'cmd': '/usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.14.101 -taillogs -grpcaddr=0.0.0.0:6042', 'state': 'Sl', 'ttyName': '?'}, '1582': {'totalActiveTime': 4850, 'memPct': 8.6, 'cpuPct': 0.2, 'startTime': 1597281495.0, 'cmd': 'ConfigAgent', 'state': 'Sl', 'ttyName': '?'}, '4449': {'totalActiveTime': 1713, 'memPct': 0.6, 'cpuPct': 0.2, 'startTime': 1598910306.0, 'cmd': 'python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config', 'state': 'SNl', 'ttyName': '?'}, '13087': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.2, 'startTime': 1599669155.0, 'cmd': 'sshd: unknown [priv] ', 'state': 'Ss', 'ttyName': '?'}, '1233': {'totalActiveTime': 4508, 'memPct': 0.9, 'cpuPct': 0.1, 'startTime': 1597281478.0, 'cmd': 'ProcMgr-worker', 'state': 'S', 'ttyName': '?'}, '3405': {'totalActiveTime': 4329, 'memPct': 1.4, 'cpuPct': 0.1, 'startTime': 1597281695.0, 'cmd': 'Fhrp', 'state': 'S', 'ttyName': '?'}, '1': {'totalActiveTime': 229, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '/sbin/init', 'state': 'Ss', 'ttyName': '?'}, '2': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kthreadd]', 'state': 'S', 'ttyName': '?'}, '3': {'totalActiveTime': 22, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ksoftirqd/0]', 'state': 'S', 'ttyName': '?'}, '5': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kworker/0:0H]', 'state': 'S<', 'ttyName': '?'}, '7': {'totalActiveTime': 36, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[rcu_preempt]', 'state': 'S', 'ttyName': '?'}, '8': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[rcu_sched]', 'state': 'S', 'ttyName': '?'}, '9': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[rcu_bh]', 'state': 'S', 'ttyName': '?'}, '10': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[migration/0]', 'state': 'S', 'ttyName': '?'}, '11': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[lru-add-drain]', 'state': 'S<', 'ttyName': '?'}, '12': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[watchdog/0]', 'state': 'S', 'ttyName': '?'}, '13': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[cpuhp/0]', 'state': 'S', 'ttyName': '?'}, '14': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[cpuhp/1]', 'state': 'S', 'ttyName': '?'}, '15': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[watchdog/1]', 'state': 'S', 'ttyName': '?'}, '16': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[migration/1]', 'state': 'S', 'ttyName': '?'}, '17': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ksoftirqd/1]', 'state': 'S', 'ttyName': '?'}, '18': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kworker/1:0]', 'state': 'S', 'ttyName': '?'}, '19': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kworker/1:0H]', 'state': 'S<', 'ttyName': '?'}, '20': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[cpuhp/2]', 'state': 'S', 'ttyName': '?'}, '21': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[watchdog/2]', 'state': 'S', 'ttyName': '?'}, '22': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[migration/2]', 'state': 'S', 'ttyName': '?'}, '23': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ksoftirqd/2]', 'state': 'S', 'ttyName': '?'}, '24': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kworker/2:0]', 'state': 'S', 'ttyName': '?'}, '25': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kworker/2:0H]', 'state': 'S<', 'ttyName': '?'}, '26': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[cpuhp/3]', 'state': 'S', 'ttyName': '?'}, '27': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[watchdog/3]', 'state': 'S', 'ttyName': '?'}, '28': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[migration/3]', 'state': 'S', 'ttyName': '?'}, '29': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ksoftirqd/3]', 'state': 'S', 'ttyName': '?'}, '30': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kworker/3:0]', 'state': 'S', 'ttyName': '?'}, '31': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kworker/3:0H]', 'state': 'S<', 'ttyName': '?'}, '32': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kdevtmpfs]', 'state': 'S', 'ttyName': '?'}, '33': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[netns]', 'state': 'S<', 'ttyName': '?'}, '34': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[khungtaskd]', 'state': 'S', 'ttyName': '?'}, '35': {'totalActiveTime': 67, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[khungtaskd2]', 'state': 'S', 'ttyName': '?'}, '36': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[oom_reaper]', 'state': 'S', 'ttyName': '?'}, '37': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[writeback]', 'state': 'S<', 'ttyName': '?'}, '38': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kcompactd0]', 'state': 'S', 'ttyName': '?'}, '39': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[crypto]', 'state': 'S<', 'ttyName': '?'}, '40': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kintegrityd]', 'state': 'S<', 'ttyName': '?'}, '41': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '42': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kblockd]', 'state': 'S<', 'ttyName': '?'}, '43': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ata_sff]', 'state': 'S<', 'ttyName': '?'}, '44': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[edac-poller]', 'state': 'S<', 'ttyName': '?'}, '45': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[dst_gc_task]', 'state': 'S', 'ttyName': '?'}, '46': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[watchdogd]', 'state': 'S<', 'ttyName': '?'}, '47': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[arp_cache-prd]', 'state': 'S', 'ttyName': '?'}, '49': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[icmp_unreachabl]', 'state': 'S', 'ttyName': '?'}, '50': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[rpciod]', 'state': 'S<', 'ttyName': '?'}, '51': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[xprtiod]', 'state': 'S<', 'ttyName': '?'}, '52': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kswapd0]', 'state': 'S', 'ttyName': '?'}, '53': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[vmstat]', 'state': 'S<', 'ttyName': '?'}, '54': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[nfsiod]', 'state': 'S<', 'ttyName': '?'}, '63': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[pcielwd]', 'state': 'S<', 'ttyName': '?'}, '64': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '65': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '66': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '67': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '68': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '69': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '70': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '71': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '72': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[nvme]', 'state': 'S<', 'ttyName': '?'}, '74': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ndisc_cache-prd]', 'state': 'S', 'ttyName': '?'}, '75': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ipv6_addrconf]', 'state': 'S<', 'ttyName': '?'}, '76': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ecc_log_wq]', 'state': 'S<', 'ttyName': '?'}, '124': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '125': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '171': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[jbd2/nvme0n1p1-]', 'state': 'S', 'ttyName': '?'}, '172': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ext4-rsv-conver]', 'state': 'S<', 'ttyName': '?'}, '194': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281455.0, 'cmd': '[kworker/0:1H]', 'state': 'S<', 'ttyName': '?'}, '272': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281461.0, 'cmd': '[loop0]', 'state': 'S<', 'ttyName': '?'}, '343': {'totalActiveTime': 1, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281463.0, 'cmd': '[kworker/u8:2]', 'state': 'S', 'ttyName': '?'}, '380': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281463.0, 'cmd': '/usr/lib/systemd/systemd-udevd', 'state': 'Ss', 'ttyName': '?'}, '407': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281463.0, 'cmd': '/usr/sbin/lvmetad -f', 'state': 'Ss', 'ttyName': '?'}, '499': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281464.0, 'cmd': '[ena]', 'state': 'S<', 'ttyName': '?'}, '747': {'totalActiveTime': 139, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281464.0, 'cmd': '/usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation', 'state': 'Ss', 'ttyName': '?'}, '759': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '[kworker/1:1]', 'state': 'S', 'ttyName': '?'}, '778': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '/usr/sbin/mcelog --ignorenodev --daemon --foreground', 'state': 'Ss', 'ttyName': '?'}, '782': {'totalActiveTime': 48, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '/usr/bin/ProcMonitor', 'state': 'Ss', 'ttyName': '?'}, '789': {'totalActiveTime': 65, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '/usr/lib/systemd/systemd-logind', 'state': 'Ss', 'ttyName': '?'}, '807': {'totalActiveTime': 12, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '/usr/sbin/crond -n', 'state': 'Ss', 'ttyName': '?'}, '819': {'totalActiveTime': 17, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '/usr/bin/wdogdev -t 60', 'state': 'S<s', 'ttyName': '?'}, '824': {'totalActiveTime': 3, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid', 'state': 'Ss', 'ttyName': '?'}, '1005': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local', 'state': 'S', 'ttyName': '?'}, '1007': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/0'}, '1017': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys', 'state': 'S', 'ttyName': '?'}, '1018': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/1'}, '1034': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '/usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil', 'state': 'Ss', 'ttyName': '?'}, '1038': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure', 'state': 'S', 'ttyName': '?'}, '1039': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/2'}, '1064': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '/bin/bash /usr/sbin/core_annotate_util daemon', 'state': 'Ss', 'ttyName': '?'}, '1179': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281472.0, 'cmd': 'python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1180': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281472.0, 'cmd': '/usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1213': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281472.0, 'cmd': 'inotifywait -e modify /var/lib/rpm', 'state': 'S', 'ttyName': '?'}, '1216': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281478.0, 'cmd': 'netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1218': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281478.0, 'cmd': 'netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1232': {'totalActiveTime': 0, 'memPct': 0.9, 'cpuPct': 0.0, 'startTime': 1597281478.0, 'cmd': 'ProcMgr-master', 'state': 'S', 'ttyName': '?'}, '1478': {'totalActiveTime': 544, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281492.0, 'cmd': '/usr/bin/EosOomAdjust', 'state': 'S', 'ttyName': '?'}, '1486': {'totalActiveTime': 15, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281492.0, 'cmd': '[rbfd_vrf_cleanu]', 'state': 'S', 'ttyName': '?'}, '1501': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281492.0, 'cmd': '/usr/sbin/acpid', 'state': 'Ss', 'ttyName': '?'}, '1538': {'totalActiveTime': 118, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281492.0, 'cmd': '/usr/bin/SlabMonitor', 'state': 'S', 'ttyName': '?'}, '1539': {'totalActiveTime': 2313, 'memPct': 2.6, 'cpuPct': 0.0, 'startTime': 1597281492.0, 'cmd': 'Sysdb', 'state': 'S', 'ttyName': '?'}, '1581': {'totalActiveTime': 34, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281495.0, 'cmd': 'StageMgr', 'state': 'S', 'ttyName': '?'}, '1584': {'totalActiveTime': 106, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281495.0, 'cmd': 'Fru', 'state': 'S', 'ttyName': '?'}, '1585': {'totalActiveTime': 56, 'memPct': 1.8, 'cpuPct': 0.0, 'startTime': 1597281495.0, 'cmd': 'Launcher', 'state': 'S', 'ttyName': '?'}, '1714': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'netns --agenttitle=Lldp --demuxerOpts=267046295036,267046027633,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp', 'state': 'S', 'ttyName': '?'}, '1715': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1717': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'netns --agenttitle=McastCommon --demuxerOpts=267080979441,267080797725,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon', 'state': 'S', 'ttyName': '?'}, '1718': {'totalActiveTime': 438, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'Lldp', 'state': 'S', 'ttyName': '?'}, '1719': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1720': {'totalActiveTime': 182, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'McastCommon', 'state': 'S', 'ttyName': '?'}, '1722': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'netns --agenttitle=PortSec --demuxerOpts=267138688824,267130622391,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec', 'state': 'S', 'ttyName': '?'}, '1724': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1726': {'totalActiveTime': 124, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'PortSec', 'state': 'S', 'ttyName': '?'}, '1739': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': '[kworker/1:1H]', 'state': 'S<', 'ttyName': '?'}, '1744': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': 'netns --agenttitle=Bfd --demuxerOpts=270600496842,267232117674,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd', 'state': 'S', 'ttyName': '?'}, '1745': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1746': {'totalActiveTime': 238, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': 'Bfd', 'state': 'S', 'ttyName': '?'}, '1747': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': 'netns --agenttitle=Lag --demuxerOpts=271099376041,271003644947,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag', 'state': 'S', 'ttyName': '?'}, '1750': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1751': {'totalActiveTime': 850, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': 'Lag', 'state': 'S', 'ttyName': '?'}, '1754': {'totalActiveTime': 1628, 'memPct': 1.7, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': 'SuperServer', 'state': 'S', 'ttyName': '?'}, '1767': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netns --agenttitle=Ira --demuxerOpts=275033642113,271344907121,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira', 'state': 'S', 'ttyName': '?'}, '1768': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1769': {'totalActiveTime': 207, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'Ira', 'state': 'S', 'ttyName': '?'}, '1772': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netns --agenttitle=LedPolicy --demuxerOpts=275203075095,275062053558,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy', 'state': 'S', 'ttyName': '?'}, '1773': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1774': {'totalActiveTime': 168, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'LedPolicy', 'state': 'S', 'ttyName': '?'}, '1775': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netns --agenttitle=EventMgr --demuxerOpts=275412252849,275377553919,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr', 'state': 'S', 'ttyName': '?'}, '1776': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1777': {'totalActiveTime': 400, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'EventMgr', 'state': 'S', 'ttyName': '?'}, '1778': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netns --agenttitle=StpTxRx --demuxerOpts=275530943653,275498520824,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx', 'state': 'S', 'ttyName': '?'}, '1779': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1780': {'totalActiveTime': 1361, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'StpTxRx', 'state': 'S', 'ttyName': '?'}, '1781': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netns --agenttitle=StandbyCpld --demuxerOpts=275673918628,275618185987,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1783': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1784': {'totalActiveTime': 30, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1785': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netns --agenttitle=AgentMonitor --demuxerOpts=275814961243,275751809451,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1786': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1787': {'totalActiveTime': 1966, 'memPct': 1.0, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1788': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netns --agenttitle=Tunnel --demuxerOpts=279268129963,279198956916,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel', 'state': 'S', 'ttyName': '?'}, '1789': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1790': {'totalActiveTime': 386, 'memPct': 1.6, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'Aaa', 'state': 'Sl', 'ttyName': '?'}, '1791': {'totalActiveTime': 70, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'Tunnel', 'state': 'S', 'ttyName': '?'}, '1793': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netns --agenttitle=StpTopology --demuxerOpts=279517763852,279517565226,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology', 'state': 'S', 'ttyName': '?'}, '1794': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1795': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netns --agenttitle=Acl --demuxerOpts=279733513327,279733258943,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl', 'state': 'S', 'ttyName': '?'}, '1796': {'totalActiveTime': 199, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'StpTopology', 'state': 'S', 'ttyName': '?'}, '1797': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1798': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netns --agenttitle=Stp --demuxerOpts=279939374338,279887740448,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp', 'state': 'S', 'ttyName': '?'}, '1799': {'totalActiveTime': 1160, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'Acl', 'state': 'S', 'ttyName': '?'}, '1800': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1802': {'totalActiveTime': 266, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'Stp', 'state': 'S', 'ttyName': '?'}, '1803': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netns --agenttitle=KernelNetworkInfo --demuxerOpts=280114122924,280113919792,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1804': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1805': {'totalActiveTime': 104, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1806': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netns --agenttitle=McastCommon6 --demuxerOpts=283609312459,283573711926,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6', 'state': 'S', 'ttyName': '?'}, '1807': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1809': {'totalActiveTime': 197, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'McastCommon6', 'state': 'S', 'ttyName': '?'}, '1811': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netns --agenttitle=LacpTxAgent --demuxerOpts=283839973599,283788015153,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1813': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1815': {'totalActiveTime': 191, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1816': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netns --agenttitle=Arp --demuxerOpts=284123665160,284036522428,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp', 'state': 'S', 'ttyName': '?'}, '1817': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1818': {'totalActiveTime': 262, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'Arp', 'state': 'S', 'ttyName': '?'}, '1820': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netns --agenttitle=KernelFib --demuxerOpts=284390286503,284256513379,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib', 'state': 'S', 'ttyName': '?'}, '1821': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1822': {'totalActiveTime': 204, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'KernelFib', 'state': 'S', 'ttyName': '?'}, '1824': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netns --agenttitle=Qos --demuxerOpts=287877695955,287770964417,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos', 'state': 'S', 'ttyName': '?'}, '1825': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1826': {'totalActiveTime': 157, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'Qos', 'state': 'S', 'ttyName': '?'}, '1827': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netns --agenttitle=Thermostat --demuxerOpts=288015969009,288008313449,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat', 'state': 'S', 'ttyName': '?'}, '1828': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1831': {'totalActiveTime': 100, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'Thermostat', 'state': 'S', 'ttyName': '?'}, '1834': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netns --agenttitle=L2Rib --demuxerOpts=288430062677,288320872305,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib', 'state': 'S', 'ttyName': '?'}, '1838': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1839': {'totalActiveTime': 53, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'L2Rib', 'state': 'S', 'ttyName': '?'}, '1841': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netns --agenttitle=TopoAgent --demuxerOpts=288639642769,288566958102,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled', 'state': 'S', 'ttyName': '?'}, '1842': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1844': {'totalActiveTime': 114, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'TopoAgent', 'state': 'S', 'ttyName': '?'}, '1845': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=PowerFuse --demuxerOpts=292156458136,288755017730,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse', 'state': 'S', 'ttyName': '?'}, '1847': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1848': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=PowerManager --demuxerOpts=292294904749,292294697982,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager', 'state': 'S', 'ttyName': '?'}, '1849': {'totalActiveTime': 28, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'PowerFuse', 'state': 'S', 'ttyName': '?'}, '1852': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1853': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=Ebra --demuxerOpts=292452307410,292452110553,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra', 'state': 'S', 'ttyName': '?'}, '1854': {'totalActiveTime': 28, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'PowerManager', 'state': 'S', 'ttyName': '?'}, '1856': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1859': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=ReloadCauseAgent --demuxerOpts=292715604954,292692638320,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1860': {'totalActiveTime': 330, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'Ebra', 'state': 'S', 'ttyName': '?'}, '1861': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1864': {'totalActiveTime': 30, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1866': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=SharedSecretProfile --demuxerOpts=292863065168,292847136027,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1874': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1881': {'totalActiveTime': 212, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'IgmpSnooping', 'state': 'S', 'ttyName': '?'}, '1883': {'totalActiveTime': 30, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1894': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netns --agenttitle=StaticRoute --demuxerOpts=296809139147,296808906976,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled', 'state': 'S', 'ttyName': '?'}, '1898': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1901': {'totalActiveTime': 90, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'StaticRoute', 'state': 'S', 'ttyName': '?'}, '1903': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netns --agenttitle=IpRib --demuxerOpts=296917164765,296916917865,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled', 'state': 'S', 'ttyName': '?'}, '1906': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1907': {'totalActiveTime': 481, 'memPct': 1.7, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'IpRib', 'state': 'S', 'ttyName': '?'}, '1909': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netns --agenttitle=BgpCliHelper --demuxerOpts=297076889668,297076654146,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled', 'state': 'S', 'ttyName': '?'}, '1910': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1911': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netns --agenttitle=ConnectedRoute --demuxerOpts=297209669171,297209436301,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '1912': {'totalActiveTime': 110, 'memPct': 1.9, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'BgpCliHelper', 'state': 'S', 'ttyName': '?'}, '1914': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1915': {'totalActiveTime': 205, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '1916': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'netns --agenttitle=RouteInput --demuxerOpts=297333111290,297332906647,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput', 'state': 'S', 'ttyName': '?'}, '1918': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1919': {'totalActiveTime': 93, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'RouteInput', 'state': 'S', 'ttyName': '?'}, '1920': {'totalActiveTime': 811, 'memPct': 2.3, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'Bgp', 'state': 'Sl', 'ttyName': '?'}, '1922': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'netns --agenttitle=Sfe --demuxerOpts=301070490425,300896034705,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe', 'state': 'S', 'ttyName': '?'}, '1926': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2295': {'totalActiveTime': 15, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': '/usr/sbin/rsyslogd -n', 'state': 'Ssl', 'ttyName': '?'}, '2356': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netns --agenttitle=LicenseManager --demuxerOpts=348668178089,348667946331,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager', 'state': 'S', 'ttyName': '?'}, '2360': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2363': {'totalActiveTime': 31, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'LicenseManager', 'state': 'S', 'ttyName': '?'}, '2615': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': '/usr/bin/conlogd', 'state': 'S', 'ttyName': '?'}, '2616': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': '/sbin/agetty --noclear tty1 linux', 'state': 'Ss+', 'ttyName': 'tty1'}, '2617': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': '/sbin/mingetty --noclear /dev/ttyS0', 'state': 'Ss+', 'ttyName': 'ttyS0'}, '2631': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': '[SuperServer] <defunct>', 'state': 'Zs', 'ttyName': '?'}, '2634': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': "sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2615 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'", 'state': 'S', 'ttyName': '?'}, '2637': {'totalActiveTime': 16, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': '/usr/bin/tail -n 0 --retry --follow=name --pid=2615 /var/log/eos-console', 'state': 'S', 'ttyName': '?'}, '2638': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'sed s/\\(.*\\)/\\1\\r/', 'state': 'S', 'ttyName': '?'}, '2660': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'netns --agenttitle=Ipsec --demuxerOpts=369515596564,369515372050,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec', 'state': 'S', 'ttyName': '?'}, '2661': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2662': {'totalActiveTime': 447, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'Ipsec', 'state': 'S', 'ttyName': '?'}, '2671': {'totalActiveTime': 1, 'memPct': 0.4, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1', 'state': 'Ss', 'ttyName': '?'}, '2699': {'totalActiveTime': 46, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'ntpd -u ntp:ntp -g -p /var/run/ntpd.pid', 'state': 'Ssl', 'ttyName': '?'}, '2739': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': 'fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc', 'state': 'Ss', 'ttyName': '?'}, '2978': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599667621.0, 'cmd': '[kworker/0:0]', 'state': 'S', 'ttyName': '?'}, '3281': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281693.0, 'cmd': 'netns --agenttitle=Nat --demuxerOpts=1027180400275,1027179642339,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Nat', 'state': 'S', 'ttyName': '?'}, '3289': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281693.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3290': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281693.0, 'cmd': 'netns --agenttitle=Vxlan --demuxerOpts=1027289964523,1027289360240,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Vxlan', 'state': 'S', 'ttyName': '?'}, '3295': {'totalActiveTime': 362, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281693.0, 'cmd': 'Nat', 'state': 'S', 'ttyName': '?'}, '3297': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281693.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3301': {'totalActiveTime': 186, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281693.0, 'cmd': 'Vxlan', 'state': 'S', 'ttyName': '?'}, '3304': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281693.0, 'cmd': 'netns --agenttitle=VxlanSwFwd --demuxerOpts=1027467071119,1027361358810,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/VxlanSwFwd', 'state': 'S', 'ttyName': '?'}, '3307': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281694.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3308': {'totalActiveTime': 204, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281694.0, 'cmd': 'VxlanSwFwd', 'state': 'S', 'ttyName': '?'}, '3365': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281695.0, 'cmd': '/usr/libexec/strongswan/starter --daemon charon', 'state': 'Ss', 'ttyName': '?'}, '3367': {'totalActiveTime': 51, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281695.0, 'cmd': '/usr/libexec/strongswan/charon --use-syslog', 'state': 'Ssl', 'ttyName': '?'}, '3403': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281695.0, 'cmd': 'netns --agenttitle=Fhrp --demuxerOpts=1035728404808,1035728156871,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Fhrp --scheduled', 'state': 'S', 'ttyName': '?'}, '3404': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281695.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3929': {'totalActiveTime': 1, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281918.0, 'cmd': '[kworker/u8:0]', 'state': 'S', 'ttyName': '?'}, '4048': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281919.0, 'cmd': '/usr/sbin/dnsmasq', 'state': 'S', 'ttyName': '?'}, '4431': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1598910305.0, 'cmd': '/bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh', 'state': 'S', 'ttyName': '?'}, '5793': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668281.0, 'cmd': '[kworker/0:3]', 'state': 'S', 'ttyName': '?'}, '8439': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668641.0, 'cmd': '[kworker/0:2]', 'state': 'S', 'ttyName': '?'}, '10887': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669001.0, 'cmd': '[kworker/0:1]', 'state': 'S', 'ttyName': '?'}, '13032': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669122.0, 'cmd': 'sshd: [accepted] ', 'state': 'Ss', 'ttyName': '?'}, '13088': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669155.0, 'cmd': 'sshd: unknown [net] ', 'state': 'S', 'ttyName': '?'}, '13431': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669171.0, 'cmd': 'ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww', 'state': 'Rs', 'ttyName': '?'}, '18981': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1598457438.0, 'cmd': 'netns --agenttitle=CapiApp --demuxerOpts=5050812972099146,5050812971830009,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini', 'state': 'S', 'ttyName': '?'}, '18982': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1598457438.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '18983': {'totalActiveTime': 71, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1598457438.0, 'cmd': 'CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Sl', 'ttyName': '?'}, '19027': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1598457439.0, 'cmd': 'nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;', 'state': 'Ss', 'ttyName': '?'}, '19029': {'totalActiveTime': 68, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1598457439.0, 'cmd': 'nginx: worker process ', 'state': 'S', 'ttyName': '?'}, '30730': {'totalActiveTime': 665, 'memPct': 0.4, 'cpuPct': 0.0, 'startTime': 1597697371.0, 'cmd': 'dockerd -H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock -s overlay', 'state': 'Sl', 'ttyName': '?'}, '30750': {'totalActiveTime': 548, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597697372.0, 'cmd': 'docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc', 'state': 'Ssl', 'ttyName': '?'}}, 'timeInfo': {'upTime': 2387717.36, 'loadAvg': [1.82, 1.55, 1.38], 'users': 0, 'currentTime': 1599669171.658871}}, 'text': " 16:32:52 up 27 days, 15:15, 0 users, load average: 1.82, 1.55, 1.38\n PID %CPU %MEM TT STAT STARTED TIME CMD\n 1928 102 3.7 ? Sl Aug 13 28-06:28:46 Sfe\n 1725 0.4 2.2 ? Sl Aug 13 03:03:30 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.14.101 -taillogs -grpcaddr=0.0.0.0:6042\n 1582 0.2 8.6 ? Sl Aug 13 01:20:50 ConfigAgent\n 4449 0.2 0.6 ? SNl Aug 31 00:28:33 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config\n13087 0.2 0.1 ? Ss 16:32:35 00:00:00 sshd: unknown [priv] \n 1233 0.1 0.9 ? S Aug 13 01:15:08 ProcMgr-worker\n 3405 0.1 1.4 ? S Aug 13 01:12:09 Fhrp\n 1 0.0 0.0 ? Ss Aug 13 00:03:49 /sbin/init\n 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd]\n 3 0.0 0.0 ? S Aug 13 00:00:22 [ksoftirqd/0]\n 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H]\n 7 0.0 0.0 ? S Aug 13 00:00:36 [rcu_preempt]\n 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched]\n 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh]\n 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0]\n 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain]\n 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0]\n 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0]\n 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1]\n 15 0.0 0.0 ? S Aug 13 00:00:02 [watchdog/1]\n 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1]\n 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1]\n 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0]\n 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H]\n 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2]\n 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2]\n 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2]\n 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2]\n 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0]\n 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H]\n 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3]\n 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3]\n 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3]\n 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3]\n 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0]\n 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H]\n 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs]\n 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns]\n 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd]\n 35 0.0 0.0 ? S Aug 13 00:01:07 [khungtaskd2]\n 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper]\n 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback]\n 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0]\n 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto]\n 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd]\n 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd]\n 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff]\n 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller]\n 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task]\n 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd]\n 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd]\n 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl]\n 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod]\n 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod]\n 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0]\n 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat]\n 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod]\n 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd]\n 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme]\n 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd]\n 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf]\n 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq]\n 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-]\n 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver]\n 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H]\n 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0]\n 343 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:2]\n 380 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd\n 407 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f\n 499 0.0 0.0 ? S< Aug 13 00:00:00 [ena]\n 747 0.0 0.1 ? Ss Aug 13 00:02:19 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation\n 759 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1]\n 778 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground\n 782 0.0 0.0 ? Ss Aug 13 00:00:48 /usr/bin/ProcMonitor\n 789 0.0 0.0 ? Ss Aug 13 00:01:05 /usr/lib/systemd/systemd-logind\n 807 0.0 0.0 ? Ss Aug 13 00:00:12 /usr/sbin/crond -n\n 819 0.0 0.0 ? S<s Aug 13 00:00:17 /usr/bin/wdogdev -t 60\n 824 0.0 0.0 ? Ss Aug 13 00:00:03 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid\n 1005 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local\n 1007 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1017 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys\n 1018 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1034 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil\n 1038 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure\n 1039 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1064 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon\n 1179 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1180 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1213 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm\n 1216 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1218 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1232 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master\n 1478 0.0 0.0 ? S Aug 13 00:09:04 /usr/bin/EosOomAdjust\n 1486 0.0 0.0 ? S Aug 13 00:00:15 [rbfd_vrf_cleanu]\n 1501 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid\n 1538 0.0 0.0 ? S Aug 13 00:01:58 /usr/bin/SlabMonitor\n 1539 0.0 2.6 ? S Aug 13 00:38:33 Sysdb\n 1581 0.0 1.2 ? S Aug 13 00:00:34 StageMgr\n 1584 0.0 1.4 ? S Aug 13 00:01:46 Fru\n 1585 0.0 1.8 ? S Aug 13 00:00:56 Launcher\n 1714 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=267046295036,267046027633,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp\n 1715 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1717 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=267080979441,267080797725,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon\n 1718 0.0 1.2 ? S Aug 13 00:07:18 Lldp\n 1719 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1720 0.0 1.2 ? S Aug 13 00:03:02 McastCommon\n 1722 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=267138688824,267130622391,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec\n 1724 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1726 0.0 1.1 ? S Aug 13 00:02:04 PortSec\n 1739 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H]\n 1744 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=270600496842,267232117674,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd\n 1745 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1746 0.0 1.4 ? S Aug 13 00:03:58 Bfd\n 1747 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=271099376041,271003644947,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag\n 1750 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1751 0.0 1.3 ? S Aug 13 00:14:10 Lag\n 1754 0.0 1.7 ? S Aug 13 00:27:08 SuperServer\n 1767 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=275033642113,271344907121,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira\n 1768 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1769 0.0 1.5 ? S Aug 13 00:03:27 Ira\n 1772 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=275203075095,275062053558,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy\n 1773 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1774 0.0 1.2 ? S Aug 13 00:02:48 LedPolicy\n 1775 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=275412252849,275377553919,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr\n 1776 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1777 0.0 1.3 ? S Aug 13 00:06:40 EventMgr\n 1778 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=275530943653,275498520824,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx\n 1779 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1780 0.0 1.2 ? S Aug 13 00:22:41 StpTxRx\n 1781 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=275673918628,275618185987,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld\n 1783 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1784 0.0 1.1 ? S Aug 13 00:00:30 StandbyCpld\n 1785 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=275814961243,275751809451,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor\n 1786 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1787 0.0 1.0 ? S Aug 13 00:32:46 AgentMonitor\n 1788 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=279268129963,279198956916,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel\n 1789 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1790 0.0 1.6 ? Sl Aug 13 00:06:26 Aaa\n 1791 0.0 1.2 ? S Aug 13 00:01:10 Tunnel\n 1793 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=279517763852,279517565226,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology\n 1794 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1795 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=279733513327,279733258943,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl\n 1796 0.0 1.2 ? S Aug 13 00:03:19 StpTopology\n 1797 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1798 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=279939374338,279887740448,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp\n 1799 0.0 1.4 ? S Aug 13 00:19:20 Acl\n 1800 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1802 0.0 1.1 ? S Aug 13 00:04:26 Stp\n 1803 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=280114122924,280113919792,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo\n 1804 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1805 0.0 1.1 ? S Aug 13 00:01:44 KernelNetworkInfo\n 1806 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=283609312459,283573711926,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6\n 1807 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1809 0.0 1.2 ? S Aug 13 00:03:17 McastCommon6\n 1811 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=283839973599,283788015153,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent\n 1813 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1815 0.0 1.2 ? S Aug 13 00:03:11 LacpTxAgent\n 1816 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=284123665160,284036522428,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp\n 1817 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1818 0.0 1.5 ? S Aug 13 00:04:22 Arp\n 1820 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=284390286503,284256513379,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib\n 1821 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1822 0.0 1.4 ? S Aug 13 00:03:24 KernelFib\n 1824 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=287877695955,287770964417,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos\n 1825 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1826 0.0 1.2 ? S Aug 13 00:02:37 Qos\n 1827 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=288015969009,288008313449,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat\n 1828 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1831 0.0 1.1 ? S Aug 13 00:01:40 Thermostat\n 1834 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=288430062677,288320872305,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib\n 1838 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1839 0.0 1.2 ? S Aug 13 00:00:53 L2Rib\n 1841 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=288639642769,288566958102,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled\n 1842 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1844 0.0 1.2 ? S Aug 13 00:01:54 TopoAgent\n 1845 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=292156458136,288755017730,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse\n 1847 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1848 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=292294904749,292294697982,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager\n 1849 0.0 1.1 ? S Aug 13 00:00:28 PowerFuse\n 1852 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1853 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=292452307410,292452110553,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra\n 1854 0.0 1.1 ? S Aug 13 00:00:28 PowerManager\n 1856 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1859 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=292715604954,292692638320,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent\n 1860 0.0 1.4 ? S Aug 13 00:05:30 Ebra\n 1861 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1864 0.0 1.1 ? S Aug 13 00:00:30 ReloadCauseAgent\n 1866 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=292863065168,292847136027,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile\n 1874 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1881 0.0 1.5 ? S Aug 13 00:03:32 IgmpSnooping\n 1883 0.0 1.1 ? S Aug 13 00:00:30 SharedSecretProfile\n 1894 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=296809139147,296808906976,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled\n 1898 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1901 0.0 1.3 ? S Aug 13 00:01:30 StaticRoute\n 1903 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=296917164765,296916917865,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled\n 1906 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1907 0.0 1.7 ? S Aug 13 00:08:01 IpRib\n 1909 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=297076889668,297076654146,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled\n 1910 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1911 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=297209669171,297209436301,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute\n 1912 0.0 1.9 ? S Aug 13 00:01:50 BgpCliHelper\n 1914 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1915 0.0 1.3 ? S Aug 13 00:03:25 ConnectedRoute\n 1916 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=297333111290,297332906647,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput\n 1918 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1919 0.0 1.3 ? S Aug 13 00:01:33 RouteInput\n 1920 0.0 2.3 ? Sl Aug 13 00:13:31 Bgp\n 1922 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=301070490425,300896034705,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe\n 1926 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2295 0.0 0.0 ? Ssl Aug 13 00:00:15 /usr/sbin/rsyslogd -n\n 2356 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=348668178089,348667946331,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager\n 2360 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2363 0.0 1.1 ? S Aug 13 00:00:31 LicenseManager\n 2615 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd\n 2616 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux\n 2617 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0\n 2631 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct>\n 2634 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2615 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'\n 2637 0.0 0.0 ? S Aug 13 00:00:16 /usr/bin/tail -n 0 --retry --follow=name --pid=2615 /var/log/eos-console\n 2638 0.0 0.0 ? S Aug 13 00:00:00 sed s/\\(.*\\)/\\1\\r/\n 2660 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=369515596564,369515372050,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec\n 2661 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2662 0.0 1.2 ? S Aug 13 00:07:27 Ipsec\n 2671 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1\n 2699 0.0 0.1 ? Ssl Aug 13 00:00:46 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid\n 2739 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc\n 2978 0.0 0.0 ? S 16:07:01 00:00:00 [kworker/0:0]\n 3281 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Nat --demuxerOpts=1027180400275,1027179642339,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Nat\n 3289 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3290 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Vxlan --demuxerOpts=1027289964523,1027289360240,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Vxlan\n 3295 0.0 1.2 ? S Aug 13 00:06:02 Nat\n 3297 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3301 0.0 1.3 ? S Aug 13 00:03:06 Vxlan\n 3304 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=VxlanSwFwd --demuxerOpts=1027467071119,1027361358810,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/VxlanSwFwd\n 3307 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3308 0.0 1.3 ? S Aug 13 00:03:24 VxlanSwFwd\n 3365 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon\n 3367 0.0 0.1 ? Ssl Aug 13 00:00:51 /usr/libexec/strongswan/charon --use-syslog\n 3403 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Fhrp --demuxerOpts=1035728404808,1035728156871,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Fhrp --scheduled\n 3404 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3929 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:0]\n 4048 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq\n 4431 0.0 0.0 ? S Aug 31 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh\n 5793 0.0 0.0 ? S 16:18:01 00:00:00 [kworker/0:3]\n 8439 0.0 0.0 ? S 16:24:01 00:00:00 [kworker/0:2]\n10887 0.0 0.0 ? S 16:30:01 00:00:00 [kworker/0:1]\n13032 0.0 0.0 ? Ss 16:32:02 00:00:00 sshd: [accepted] \n13088 0.0 0.0 ? S 16:32:35 00:00:00 sshd: unknown [net] \n13447 0.0 0.0 ? Rs 16:32:51 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww\n18981 0.0 0.0 ? S Aug 26 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=5050812972099146,5050812971830009,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini\n18982 0.0 0.3 ? Ss Aug 26 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n18983 0.0 1.3 ? Sl Aug 26 00:01:11 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n19027 0.0 0.0 ? Ss Aug 26 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;\n19029 0.0 0.1 ? S Aug 26 00:01:08 nginx: worker process \n30730 0.0 0.4 ? Sl Aug 17 00:11:05 dockerd -H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock -s overlay\n30750 0.0 0.1 ? Ssl Aug 17 00:09:08 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc\n"}, 'show running-config section username': {'json': {'output': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'text': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'show aaa counters': {'json': {'authenticationSuccess': 74264, 'authorizationAllowed': 2325, 'accountingSuccess': 0, 'pendingAccountingRequests': 0, 'authorizationDenied': 0, 'authenticationFail': 7, 'authenticationUnavailable': 355, 'accountingError': 0, 'authorizationUnavailable': 0}, 'text': 'Authentication\n Successful: 74269\n Failed: 7\n Service unavailable: 355\n\nAuthorization\n Allowed: 2325\n Denied: 0\n Service unavailable: 0\n\nAccounting\n Successful: 0\n Error: 0\n Pending: 0\n\nLast time counters were cleared: never\n'}, 'show users detail': {'json': {'serials': {}, 'nonInteractives': {'76079': {'username': 'kgrozis', 'state': 'established', 'sessionStartTime': 1599669160, 'role': '', 'service': 'commandApi', 'authMethod': 'local'}}, 'vtys': {}}, 'text': 'Session Username Roles TTY State Duration Auth Remote Host \n-------- --------- ------- ------------- ------- ---------- ------- ----------- \n76079 kgrozis command-api E 0:00:13 local \n'}, 'show aaa methods all': {'json': {'authorization': {'commandsAuthzMethods': {'privilege0-15': {'methods': ['none']}}, 'execAuthzMethods': {'exec': {'methods': ['none']}}}, 'authentication': {'loginAuthenMethods': {'default': {'methods': ['local']}}, 'dot1xAuthenMethods': {'default': {'methods': []}}, 'enableAuthenMethods': {'default': {'methods': ['local']}}}, 'accounting': {'systemAcctMethods': {'system': {'defaultMethods': [], 'consoleMethods': []}}, 'execAcctMethods': {'exec': {'defaultMethods': [], 'consoleMethods': []}}, 'commandsAcctMethods': {'privilege0-15': {'defaultMethods': [], 'consoleMethods': []}}, 'dot1xAcctMethods': {'dot1x': {'defaultMethods': [], 'consoleMethods': []}}}}, 'text': 'Authentication method lists for LOGIN:\n name=default methods=local\nAuthentication method list for ENABLE:\n name=default methods=local\nAuthentication method list for DOT1X:\n name=default methods=\nAuthorization method lists for COMMANDS:\n name=privilege0-15 methods=none\nAuthorization method list for EXEC:\n name=exec methods=none\nAccounting method lists for COMMANDS:\n name=privilege0-15 default-action=none\nAccounting method list for EXEC:\n name=exec default-action=none\nAccounting method list for SYSTEM:\n name=system default-action=none\nAccounting method list for DOT1X:\n name=dot1x default-action=none\n'}, 'show ntp status': {'json': {'status': 'synchronised', 'pollingInterval': 256, 'stratum': 4, 'maxEstimatedError': 17, 'server': '169.254.169.123'}, 'text': 'synchronised to NTP server (169.254.169.123) at stratum 4\n time correct to within 17 ms\n polling server every 256 s\n\n'}, 'show ntp associations': {'json': {'peers': {'169.254.169.123': {'delay': 0.107, 'jitter': 0.2, 'lastReceived': 1599669099.0, 'peerType': 'local', 'reachabilityHistory': [True, True, True, True, True, True, True, True], 'condition': 'sys.peer', 'offset': 1.627, 'peerIpAddr': '169.254.169.123', 'pollInterval': 256, 'refid': '169.254.169.122', 'stratumLevel': 3}}}, 'text': ' remote refid st t when poll reach delay offset jitter\n==============================================================================\n*169.254.169.123 169.254.169.12 3 l 78 256 377 0.107 1.627 0.2\n'}, 'show daemon': {'json': {'daemons': {'TerminAttr': {'running': True, 'option': {}, 'starttime': 1597281517.1914241, 'pid': 1725, 'enabled': True, 'uptime': 2387660.17, 'data': {}, 'isSdkAgent': False}}}, 'text': 'Process: TerminAttr (running with PID 1725)\nUptime: 27 days, 15:14:20 (Start time: Thu Aug 13 01:18:37 2020)\nNo configuration options stored.\n\nNo status data stored.\n\n'}, 'show zerotouch': {'json': {'mode': 'disabled', 'scriptTimeout': 900}, 'text': '\nZeroTouch Mode: Disabled\nScript Exec Timeout: 900\n'}, 'dir flash:zerotouch-config': {'json': {'messages': ['Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7291572224 bytes free)\n']}, 'text': 'Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7291572224 bytes free)\n'}, 'show system environment temperature': {'json': {'cardSlots': [], 'powerSupplySlots': [], 'shutdownOnOverheat': True, 'tempSensors': [], 'systemStatus': 'unknownTemperatureAlarmLevel'}, 'text': 'System temperature status is: Unknown\n'}, 'show system environment cooling': {'json': {'overrideFanSpeed': 0, 'coolingMode': 'automatic', 'powerSupplySlots': [], 'fanTraySlots': [], 'minFanSpeed': 0, 'shutdownOnInsufficientFans': True, 'systemStatus': 'unknownCoolingAlarmLevel', 'airflowDirection': 'unknownAirflowDirection'}, 'text': 'System cooling status is: Unknown\nAmbient temperature: Unknown\n Config Actual Speed Stable\nFan Status Speed Speed Uptime Stability Uptime\n--- ------ ------ ------ ------ --------- ------\n'}, 'show management api http-commands': {'json': {'httpServer': {'running': False, 'configured': False, 'port': 80}, 'users': {'kgrozis': {'requestCount': 67300, 'bytesOut': 194831265, 'lastHitTime': 1599669179.0062382, 'bytesIn': 10886628}}, 'bytesOut': 194831265, 'logLevel': 'none', 'dscpValue': 0, 'corsOrigins': [], 'hitCount': 71703, 'vrf': 'default', 'lastHitTime': 1599669179.0062096, 'tlsProtocol': ['1.0', '1.1', '1.2'], 'localHttpServer': {'running': False, 'configured': False, 'port': 8080}, 'executionTime': 6065.486179828993, 'enabled': True, 'fipsEnabled': False, 'httpsServer': {'running': True, 'configured': True, 'port': 443}, 'requestCount': 67300, 'vrfs': ['default'], 'urls': ['Ethernet1 : https://11.201.14.101:443', 'Ethernet2 : https://11.201.14.201:443', 'Ethernet100 : https://11.201.8.1:443', 'Loopback0 : https://11.201.0.1:443', 'Loopback10 : https://198.18.0.35:443'], 'unixSocketServer': {'running': False, 'configured': False}, 'bytesIn': 10886628, 'commandCount': 134600, 'iframeAncestors': []}, 'text': 'Enabled: Yes\nHTTPS server: running, set to use port 443\nHTTP server: shutdown, set to use port 80\nLocal HTTP server: shutdown, no authentication, set to use port 8080\nUnix Socket server: shutdown, no authentication\nVRFs: default\nHits: 71705\nLast hit: 0 seconds ago\nBytes in: 10886936\nBytes out: 194832453\nRequests: 67302\nCommands: 134604\nDuration: 6065.501 seconds\nSSL Profile: none\nFIPS Mode: No\nQoS DSCP: 0\nLog Level: none\nCSP Frame Ancestor: None\nTLS Protocols: 1.0 1.1 1.2\n User Requests Bytes in Bytes out Last hit \n------------- -------------- -------------- --------------- ------------- \n kgrozis 67302 10886936 194832453 0 seconds ago \n\nURLs \n--------------------------------------- \nEthernet1 : https://11.201.14.101:443 \nEthernet2 : https://11.201.14.201:443 \nEthernet100 : https://11.201.8.1:443 \nLoopback0 : https://11.201.0.1:443 \nLoopback10 : https://198.18.0.35:443 \n\n'}, 'show tacacs': {'json': {'tacacsServers': [], 'groups': {}, 'srcIntf': {}, 'lastCounterClearTime': 0.0}, 'text': '\nLast time counters were cleared: never\n'}, 'show logging': {'json': {'output': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:19 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:31 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:27 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:38 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:47 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:11 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:27 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:36 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:45 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:55 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:24:04 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:37 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:48 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:57 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:54 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:27:03 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:07 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:21 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:29 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:08 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:19 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:28 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}, 'text': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:19 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:31 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:27 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:38 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:47 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:11 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:27 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:36 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:45 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:55 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:24:04 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:37 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:48 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:57 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:54 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:27:03 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:07 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:21 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:29 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:08 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:19 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:28 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}}} test_name: test_if_files_on_ test_parameters: {'parameters': {'show_log': 'show_output.log'}} INFO root:tests_tools.py:250 Return model data and text output from show commands and log text output for show file information flash:startup-config with connnection Node(connection=EapiConnection(transport=https://3.132.90.164:443//command-api)) INFO root:tests_tools.py:254 Raw json output of show file information flash:startup-config on dut kg-topology-CloudEOSEdge1: [{'command': 'show file information flash:startup-config', 'result': {'isDir': False, 'path': 'flash:/startup-config', 'fileName': '/mnt/flash/startup-config'}, 'encoding': 'json'}] INFO root:tests_tools.py:257 Raw text output of show file information flash:startup-config on dut kg-topology-CloudEOSEdge1: [{'output': 'flash:/startup-config:\n type is file\n'}] INFO root:tests_tools.py:311 Open log file for logging test show commands INFO root:tests_tools.py:315 Opening file show_output.log and append show output: flash:/startup-config: type is file INFO root:test_filesystem.py:80 WHEN flash:startup-config file isDir state is |False| INFO root:test_filesystem.py:84 THEN test case result is |True| INFO root:test_filesystem.py:85 OUTPUT of |show file information flash:startup-config| is : [{'output': 'flash:/startup-config:\n type is file\n'}] INFO root:test_filesystem.py:70 TEST is flash:veos-config file present on |kg-topology-CloudEOSEdge1| INFO root:test_filesystem.py:71 GIVEN expected flash:veos-config isDir state: |False| INFO root:tests_tools.py:245 Raw Input for return_show_cmd show_cmd: show file information flash:veos-config dut: {'connection': Node(connection=EapiConnection(transport=https://3.132.90.164:443//command-api)), 'name': 'kg-topology-CloudEOSEdge1', 'output': {'interface_list': [{'hostname': 'kg-topology-CloudEOSEdge1', 'interface_name': 'Ethernet1', 'z_hostname': 'spine01', 'z_interface_name': 'Ethernet2', 'media_type': ''}, {'hostname': 'kg-topology-CloudEOSEdge1', 'interface_name': 'Ethernet2', 'z_hostname': 'leaf01', 'z_interface_name': 'Ethernet2', 'media_type': ''}], 'show interfaces status': {'json': {'interfaceStatuses': {'Ethernet2.102': {'vlanInformation': {'interfaceMode': 'encap', 'vlanId': 102, 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': 'dot1q-encapsulation', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'encapsulation': {'encapsulationType': 'dot1q', 'dot1qVlanTags': [102]}, 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet2': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet100': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 10000000000, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet1': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}}}, 'text': 'Port Name Status Vlan Duplex Speed Type Flags Encapsulation\nEt1 connected routed full unconf 10/100/1000 \nEt2 connected routed full unconf 10/100/1000 \nEt2.102 connected routed full unconf dot1q-encapsulation 102 \nEt100 connected routed full 10G 10/100/1000 \n\n'}, 'show interfaces phy detail': {'json': {'interfacePhyStatuses': {}}, 'text': ''}, 'show hostname': {'json': {'fqdn': 'kg-topology-CloudEOSEdge1', 'hostname': 'kg-topology-CloudEOSEdge1'}, 'text': 'Hostname: kg-topology-CloudEOSEdge1\nFQDN: kg-topology-CloudEOSEdge1\n'}, 'show extensions': {'json': {'extensions': {'awslogs.swix': {'status': 'installed', 'vendor': 'Amazon <UNKNOWN>', 'description': ' awsclicwlogs This awscli plugin provides the pull, push and filter commands to\naccess AWS CloudWatch Logs service. The awsclicwlogs package works on Python\nversions:* 2.6.5 and greater * 2.7.x and greater * 3.3.x and greater\nInstallation The easiest way to install awsclicwlogs is to use pip_:: $ pip\ninstall awsclicwlogsor, if you are not installing in a virtualenv:: $ sudo pip\ninstall ...', 'presence': 'present', 'rpms': {'awslogs.noarch.rpm': {'release': '1.el7', 'version': '1.4.0'}}, 'summary': 'AWSCLI CloudWatch Logs plugin', 'version': '1.4.0', 'numRpms': 1, 'error': False, 'release': '1.el7', 'installedSize': 23414055}, 'awsha.rpm': {'status': 'installed', 'vendor': '', 'description': 'Aws HA', 'presence': 'present', 'rpms': {'awsha.rpm': {'release': '1', 'version': '0.1.1'}}, 'summary': 'Aws HA', 'version': '0.1.1', 'numRpms': 1, 'error': False, 'release': '1', 'installedSize': 10073042}}}, 'text': 'Name Version/Release Status Extension\n----------------- -------------------- ----------- ---------\nawsha.rpm 0.1.1/1 A, I 1 \nawslogs.swix 1.4.0/1.el7 A, I 1 \n\n\nA: available | NA: not available | I: installed | NI: not installed | F: forced\nS: valid signature | NS: invalid signature\n'}, 'show version': {'json': {'memTotal': 7818736, 'uptime': 2387716.94, 'modelName': 'vEOS', 'internalVersion': '4.23.1F-cloud-16179785.jakartarel', 'mfgName': 'Arista', 'serialNumber': 'DB3968957436BF7623C810C9F13FC97E', 'systemMacAddress': '02:9e:d2:0a:bb:fc', 'bootupTimestamp': 1597281454.0, 'memFree': 2804268, 'version': '4.23.1F-cloud-16179785.jakartarel (engineering build)', 'configMacAddress': '00:00:00:00:00:00', 'isIntlVersion': False, 'internalBuildId': '6bc96200-86c1-4e86-bed7-8280a6802809', 'hardwareRevision': '', 'hwMacAddress': '00:00:00:00:00:00', 'architecture': 'x86_64'}, 'text': 'Arista vEOS\nHardware version: \nSerial number: DB3968957436BF7623C810C9F13FC97E\nSystem MAC address: 029e.d20a.bbfc\n\nSoftware image version: 4.23.1F-cloud-16179785.jakartarel (engineering build)\nArchitecture: x86_64\nInternal build version: 4.23.1F-cloud-16179785.jakartarel\nInternal build ID: 6bc96200-86c1-4e86-bed7-8280a6802809\n\nUptime: 3 weeks, 6 days, 15 hours and 15 minutes\nTotal memory: 7818736 kB\nFree memory: 2803948 kB\n\n'}, 'show processes': {'json': {'processes': {'1928': {'totalActiveTime': 2442526, 'memPct': 3.7, 'cpuPct': 102.0, 'startTime': 1597281524.0, 'cmd': 'Sfe', 'state': 'Sl', 'ttyName': '?'}, '1725': {'totalActiveTime': 11010, 'memPct': 2.2, 'cpuPct': 0.4, 'startTime': 1597281516.0, 'cmd': '/usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.14.101 -taillogs -grpcaddr=0.0.0.0:6042', 'state': 'Sl', 'ttyName': '?'}, '1582': {'totalActiveTime': 4850, 'memPct': 8.6, 'cpuPct': 0.2, 'startTime': 1597281495.0, 'cmd': 'ConfigAgent', 'state': 'Sl', 'ttyName': '?'}, '4449': {'totalActiveTime': 1713, 'memPct': 0.6, 'cpuPct': 0.2, 'startTime': 1598910306.0, 'cmd': 'python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config', 'state': 'SNl', 'ttyName': '?'}, '13087': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.2, 'startTime': 1599669155.0, 'cmd': 'sshd: unknown [priv] ', 'state': 'Ss', 'ttyName': '?'}, '1233': {'totalActiveTime': 4508, 'memPct': 0.9, 'cpuPct': 0.1, 'startTime': 1597281478.0, 'cmd': 'ProcMgr-worker', 'state': 'S', 'ttyName': '?'}, '3405': {'totalActiveTime': 4329, 'memPct': 1.4, 'cpuPct': 0.1, 'startTime': 1597281695.0, 'cmd': 'Fhrp', 'state': 'S', 'ttyName': '?'}, '1': {'totalActiveTime': 229, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '/sbin/init', 'state': 'Ss', 'ttyName': '?'}, '2': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kthreadd]', 'state': 'S', 'ttyName': '?'}, '3': {'totalActiveTime': 22, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ksoftirqd/0]', 'state': 'S', 'ttyName': '?'}, '5': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kworker/0:0H]', 'state': 'S<', 'ttyName': '?'}, '7': {'totalActiveTime': 36, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[rcu_preempt]', 'state': 'S', 'ttyName': '?'}, '8': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[rcu_sched]', 'state': 'S', 'ttyName': '?'}, '9': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[rcu_bh]', 'state': 'S', 'ttyName': '?'}, '10': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[migration/0]', 'state': 'S', 'ttyName': '?'}, '11': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[lru-add-drain]', 'state': 'S<', 'ttyName': '?'}, '12': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[watchdog/0]', 'state': 'S', 'ttyName': '?'}, '13': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[cpuhp/0]', 'state': 'S', 'ttyName': '?'}, '14': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[cpuhp/1]', 'state': 'S', 'ttyName': '?'}, '15': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[watchdog/1]', 'state': 'S', 'ttyName': '?'}, '16': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[migration/1]', 'state': 'S', 'ttyName': '?'}, '17': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ksoftirqd/1]', 'state': 'S', 'ttyName': '?'}, '18': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kworker/1:0]', 'state': 'S', 'ttyName': '?'}, '19': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kworker/1:0H]', 'state': 'S<', 'ttyName': '?'}, '20': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[cpuhp/2]', 'state': 'S', 'ttyName': '?'}, '21': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[watchdog/2]', 'state': 'S', 'ttyName': '?'}, '22': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[migration/2]', 'state': 'S', 'ttyName': '?'}, '23': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ksoftirqd/2]', 'state': 'S', 'ttyName': '?'}, '24': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kworker/2:0]', 'state': 'S', 'ttyName': '?'}, '25': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kworker/2:0H]', 'state': 'S<', 'ttyName': '?'}, '26': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[cpuhp/3]', 'state': 'S', 'ttyName': '?'}, '27': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[watchdog/3]', 'state': 'S', 'ttyName': '?'}, '28': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[migration/3]', 'state': 'S', 'ttyName': '?'}, '29': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ksoftirqd/3]', 'state': 'S', 'ttyName': '?'}, '30': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kworker/3:0]', 'state': 'S', 'ttyName': '?'}, '31': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kworker/3:0H]', 'state': 'S<', 'ttyName': '?'}, '32': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kdevtmpfs]', 'state': 'S', 'ttyName': '?'}, '33': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[netns]', 'state': 'S<', 'ttyName': '?'}, '34': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[khungtaskd]', 'state': 'S', 'ttyName': '?'}, '35': {'totalActiveTime': 67, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[khungtaskd2]', 'state': 'S', 'ttyName': '?'}, '36': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[oom_reaper]', 'state': 'S', 'ttyName': '?'}, '37': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[writeback]', 'state': 'S<', 'ttyName': '?'}, '38': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kcompactd0]', 'state': 'S', 'ttyName': '?'}, '39': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[crypto]', 'state': 'S<', 'ttyName': '?'}, '40': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kintegrityd]', 'state': 'S<', 'ttyName': '?'}, '41': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '42': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kblockd]', 'state': 'S<', 'ttyName': '?'}, '43': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ata_sff]', 'state': 'S<', 'ttyName': '?'}, '44': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[edac-poller]', 'state': 'S<', 'ttyName': '?'}, '45': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[dst_gc_task]', 'state': 'S', 'ttyName': '?'}, '46': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[watchdogd]', 'state': 'S<', 'ttyName': '?'}, '47': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[arp_cache-prd]', 'state': 'S', 'ttyName': '?'}, '49': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[icmp_unreachabl]', 'state': 'S', 'ttyName': '?'}, '50': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[rpciod]', 'state': 'S<', 'ttyName': '?'}, '51': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[xprtiod]', 'state': 'S<', 'ttyName': '?'}, '52': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kswapd0]', 'state': 'S', 'ttyName': '?'}, '53': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[vmstat]', 'state': 'S<', 'ttyName': '?'}, '54': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[nfsiod]', 'state': 'S<', 'ttyName': '?'}, '63': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[pcielwd]', 'state': 'S<', 'ttyName': '?'}, '64': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '65': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '66': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '67': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '68': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '69': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '70': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '71': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '72': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[nvme]', 'state': 'S<', 'ttyName': '?'}, '74': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ndisc_cache-prd]', 'state': 'S', 'ttyName': '?'}, '75': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ipv6_addrconf]', 'state': 'S<', 'ttyName': '?'}, '76': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ecc_log_wq]', 'state': 'S<', 'ttyName': '?'}, '124': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '125': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '171': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[jbd2/nvme0n1p1-]', 'state': 'S', 'ttyName': '?'}, '172': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ext4-rsv-conver]', 'state': 'S<', 'ttyName': '?'}, '194': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281455.0, 'cmd': '[kworker/0:1H]', 'state': 'S<', 'ttyName': '?'}, '272': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281461.0, 'cmd': '[loop0]', 'state': 'S<', 'ttyName': '?'}, '343': {'totalActiveTime': 1, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281463.0, 'cmd': '[kworker/u8:2]', 'state': 'S', 'ttyName': '?'}, '380': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281463.0, 'cmd': '/usr/lib/systemd/systemd-udevd', 'state': 'Ss', 'ttyName': '?'}, '407': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281463.0, 'cmd': '/usr/sbin/lvmetad -f', 'state': 'Ss', 'ttyName': '?'}, '499': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281464.0, 'cmd': '[ena]', 'state': 'S<', 'ttyName': '?'}, '747': {'totalActiveTime': 139, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281464.0, 'cmd': '/usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation', 'state': 'Ss', 'ttyName': '?'}, '759': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '[kworker/1:1]', 'state': 'S', 'ttyName': '?'}, '778': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '/usr/sbin/mcelog --ignorenodev --daemon --foreground', 'state': 'Ss', 'ttyName': '?'}, '782': {'totalActiveTime': 48, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '/usr/bin/ProcMonitor', 'state': 'Ss', 'ttyName': '?'}, '789': {'totalActiveTime': 65, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '/usr/lib/systemd/systemd-logind', 'state': 'Ss', 'ttyName': '?'}, '807': {'totalActiveTime': 12, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '/usr/sbin/crond -n', 'state': 'Ss', 'ttyName': '?'}, '819': {'totalActiveTime': 17, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '/usr/bin/wdogdev -t 60', 'state': 'S<s', 'ttyName': '?'}, '824': {'totalActiveTime': 3, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid', 'state': 'Ss', 'ttyName': '?'}, '1005': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local', 'state': 'S', 'ttyName': '?'}, '1007': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/0'}, '1017': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys', 'state': 'S', 'ttyName': '?'}, '1018': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/1'}, '1034': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '/usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil', 'state': 'Ss', 'ttyName': '?'}, '1038': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure', 'state': 'S', 'ttyName': '?'}, '1039': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/2'}, '1064': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '/bin/bash /usr/sbin/core_annotate_util daemon', 'state': 'Ss', 'ttyName': '?'}, '1179': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281472.0, 'cmd': 'python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1180': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281472.0, 'cmd': '/usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1213': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281472.0, 'cmd': 'inotifywait -e modify /var/lib/rpm', 'state': 'S', 'ttyName': '?'}, '1216': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281478.0, 'cmd': 'netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1218': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281478.0, 'cmd': 'netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1232': {'totalActiveTime': 0, 'memPct': 0.9, 'cpuPct': 0.0, 'startTime': 1597281478.0, 'cmd': 'ProcMgr-master', 'state': 'S', 'ttyName': '?'}, '1478': {'totalActiveTime': 544, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281492.0, 'cmd': '/usr/bin/EosOomAdjust', 'state': 'S', 'ttyName': '?'}, '1486': {'totalActiveTime': 15, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281492.0, 'cmd': '[rbfd_vrf_cleanu]', 'state': 'S', 'ttyName': '?'}, '1501': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281492.0, 'cmd': '/usr/sbin/acpid', 'state': 'Ss', 'ttyName': '?'}, '1538': {'totalActiveTime': 118, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281492.0, 'cmd': '/usr/bin/SlabMonitor', 'state': 'S', 'ttyName': '?'}, '1539': {'totalActiveTime': 2313, 'memPct': 2.6, 'cpuPct': 0.0, 'startTime': 1597281492.0, 'cmd': 'Sysdb', 'state': 'S', 'ttyName': '?'}, '1581': {'totalActiveTime': 34, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281495.0, 'cmd': 'StageMgr', 'state': 'S', 'ttyName': '?'}, '1584': {'totalActiveTime': 106, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281495.0, 'cmd': 'Fru', 'state': 'S', 'ttyName': '?'}, '1585': {'totalActiveTime': 56, 'memPct': 1.8, 'cpuPct': 0.0, 'startTime': 1597281495.0, 'cmd': 'Launcher', 'state': 'S', 'ttyName': '?'}, '1714': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'netns --agenttitle=Lldp --demuxerOpts=267046295036,267046027633,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp', 'state': 'S', 'ttyName': '?'}, '1715': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1717': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'netns --agenttitle=McastCommon --demuxerOpts=267080979441,267080797725,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon', 'state': 'S', 'ttyName': '?'}, '1718': {'totalActiveTime': 438, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'Lldp', 'state': 'S', 'ttyName': '?'}, '1719': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1720': {'totalActiveTime': 182, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'McastCommon', 'state': 'S', 'ttyName': '?'}, '1722': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'netns --agenttitle=PortSec --demuxerOpts=267138688824,267130622391,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec', 'state': 'S', 'ttyName': '?'}, '1724': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1726': {'totalActiveTime': 124, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'PortSec', 'state': 'S', 'ttyName': '?'}, '1739': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': '[kworker/1:1H]', 'state': 'S<', 'ttyName': '?'}, '1744': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': 'netns --agenttitle=Bfd --demuxerOpts=270600496842,267232117674,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd', 'state': 'S', 'ttyName': '?'}, '1745': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1746': {'totalActiveTime': 238, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': 'Bfd', 'state': 'S', 'ttyName': '?'}, '1747': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': 'netns --agenttitle=Lag --demuxerOpts=271099376041,271003644947,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag', 'state': 'S', 'ttyName': '?'}, '1750': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1751': {'totalActiveTime': 850, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': 'Lag', 'state': 'S', 'ttyName': '?'}, '1754': {'totalActiveTime': 1628, 'memPct': 1.7, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': 'SuperServer', 'state': 'S', 'ttyName': '?'}, '1767': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netns --agenttitle=Ira --demuxerOpts=275033642113,271344907121,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira', 'state': 'S', 'ttyName': '?'}, '1768': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1769': {'totalActiveTime': 207, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'Ira', 'state': 'S', 'ttyName': '?'}, '1772': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netns --agenttitle=LedPolicy --demuxerOpts=275203075095,275062053558,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy', 'state': 'S', 'ttyName': '?'}, '1773': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1774': {'totalActiveTime': 168, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'LedPolicy', 'state': 'S', 'ttyName': '?'}, '1775': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netns --agenttitle=EventMgr --demuxerOpts=275412252849,275377553919,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr', 'state': 'S', 'ttyName': '?'}, '1776': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1777': {'totalActiveTime': 400, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'EventMgr', 'state': 'S', 'ttyName': '?'}, '1778': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netns --agenttitle=StpTxRx --demuxerOpts=275530943653,275498520824,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx', 'state': 'S', 'ttyName': '?'}, '1779': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1780': {'totalActiveTime': 1361, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'StpTxRx', 'state': 'S', 'ttyName': '?'}, '1781': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netns --agenttitle=StandbyCpld --demuxerOpts=275673918628,275618185987,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1783': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1784': {'totalActiveTime': 30, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1785': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netns --agenttitle=AgentMonitor --demuxerOpts=275814961243,275751809451,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1786': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1787': {'totalActiveTime': 1966, 'memPct': 1.0, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1788': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netns --agenttitle=Tunnel --demuxerOpts=279268129963,279198956916,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel', 'state': 'S', 'ttyName': '?'}, '1789': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1790': {'totalActiveTime': 386, 'memPct': 1.6, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'Aaa', 'state': 'Sl', 'ttyName': '?'}, '1791': {'totalActiveTime': 70, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'Tunnel', 'state': 'S', 'ttyName': '?'}, '1793': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netns --agenttitle=StpTopology --demuxerOpts=279517763852,279517565226,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology', 'state': 'S', 'ttyName': '?'}, '1794': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1795': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netns --agenttitle=Acl --demuxerOpts=279733513327,279733258943,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl', 'state': 'S', 'ttyName': '?'}, '1796': {'totalActiveTime': 199, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'StpTopology', 'state': 'S', 'ttyName': '?'}, '1797': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1798': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netns --agenttitle=Stp --demuxerOpts=279939374338,279887740448,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp', 'state': 'S', 'ttyName': '?'}, '1799': {'totalActiveTime': 1160, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'Acl', 'state': 'S', 'ttyName': '?'}, '1800': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1802': {'totalActiveTime': 266, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'Stp', 'state': 'S', 'ttyName': '?'}, '1803': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netns --agenttitle=KernelNetworkInfo --demuxerOpts=280114122924,280113919792,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1804': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1805': {'totalActiveTime': 104, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1806': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netns --agenttitle=McastCommon6 --demuxerOpts=283609312459,283573711926,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6', 'state': 'S', 'ttyName': '?'}, '1807': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1809': {'totalActiveTime': 197, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'McastCommon6', 'state': 'S', 'ttyName': '?'}, '1811': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netns --agenttitle=LacpTxAgent --demuxerOpts=283839973599,283788015153,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1813': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1815': {'totalActiveTime': 191, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1816': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netns --agenttitle=Arp --demuxerOpts=284123665160,284036522428,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp', 'state': 'S', 'ttyName': '?'}, '1817': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1818': {'totalActiveTime': 262, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'Arp', 'state': 'S', 'ttyName': '?'}, '1820': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netns --agenttitle=KernelFib --demuxerOpts=284390286503,284256513379,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib', 'state': 'S', 'ttyName': '?'}, '1821': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1822': {'totalActiveTime': 204, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'KernelFib', 'state': 'S', 'ttyName': '?'}, '1824': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netns --agenttitle=Qos --demuxerOpts=287877695955,287770964417,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos', 'state': 'S', 'ttyName': '?'}, '1825': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1826': {'totalActiveTime': 157, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'Qos', 'state': 'S', 'ttyName': '?'}, '1827': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netns --agenttitle=Thermostat --demuxerOpts=288015969009,288008313449,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat', 'state': 'S', 'ttyName': '?'}, '1828': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1831': {'totalActiveTime': 100, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'Thermostat', 'state': 'S', 'ttyName': '?'}, '1834': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netns --agenttitle=L2Rib --demuxerOpts=288430062677,288320872305,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib', 'state': 'S', 'ttyName': '?'}, '1838': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1839': {'totalActiveTime': 53, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'L2Rib', 'state': 'S', 'ttyName': '?'}, '1841': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netns --agenttitle=TopoAgent --demuxerOpts=288639642769,288566958102,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled', 'state': 'S', 'ttyName': '?'}, '1842': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1844': {'totalActiveTime': 114, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'TopoAgent', 'state': 'S', 'ttyName': '?'}, '1845': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=PowerFuse --demuxerOpts=292156458136,288755017730,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse', 'state': 'S', 'ttyName': '?'}, '1847': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1848': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=PowerManager --demuxerOpts=292294904749,292294697982,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager', 'state': 'S', 'ttyName': '?'}, '1849': {'totalActiveTime': 28, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'PowerFuse', 'state': 'S', 'ttyName': '?'}, '1852': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1853': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=Ebra --demuxerOpts=292452307410,292452110553,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra', 'state': 'S', 'ttyName': '?'}, '1854': {'totalActiveTime': 28, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'PowerManager', 'state': 'S', 'ttyName': '?'}, '1856': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1859': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=ReloadCauseAgent --demuxerOpts=292715604954,292692638320,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1860': {'totalActiveTime': 330, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'Ebra', 'state': 'S', 'ttyName': '?'}, '1861': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1864': {'totalActiveTime': 30, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1866': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=SharedSecretProfile --demuxerOpts=292863065168,292847136027,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1874': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1881': {'totalActiveTime': 212, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'IgmpSnooping', 'state': 'S', 'ttyName': '?'}, '1883': {'totalActiveTime': 30, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1894': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netns --agenttitle=StaticRoute --demuxerOpts=296809139147,296808906976,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled', 'state': 'S', 'ttyName': '?'}, '1898': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1901': {'totalActiveTime': 90, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'StaticRoute', 'state': 'S', 'ttyName': '?'}, '1903': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netns --agenttitle=IpRib --demuxerOpts=296917164765,296916917865,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled', 'state': 'S', 'ttyName': '?'}, '1906': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1907': {'totalActiveTime': 481, 'memPct': 1.7, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'IpRib', 'state': 'S', 'ttyName': '?'}, '1909': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netns --agenttitle=BgpCliHelper --demuxerOpts=297076889668,297076654146,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled', 'state': 'S', 'ttyName': '?'}, '1910': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1911': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netns --agenttitle=ConnectedRoute --demuxerOpts=297209669171,297209436301,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '1912': {'totalActiveTime': 110, 'memPct': 1.9, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'BgpCliHelper', 'state': 'S', 'ttyName': '?'}, '1914': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1915': {'totalActiveTime': 205, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '1916': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'netns --agenttitle=RouteInput --demuxerOpts=297333111290,297332906647,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput', 'state': 'S', 'ttyName': '?'}, '1918': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1919': {'totalActiveTime': 93, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'RouteInput', 'state': 'S', 'ttyName': '?'}, '1920': {'totalActiveTime': 811, 'memPct': 2.3, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'Bgp', 'state': 'Sl', 'ttyName': '?'}, '1922': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'netns --agenttitle=Sfe --demuxerOpts=301070490425,300896034705,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe', 'state': 'S', 'ttyName': '?'}, '1926': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2295': {'totalActiveTime': 15, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': '/usr/sbin/rsyslogd -n', 'state': 'Ssl', 'ttyName': '?'}, '2356': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netns --agenttitle=LicenseManager --demuxerOpts=348668178089,348667946331,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager', 'state': 'S', 'ttyName': '?'}, '2360': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2363': {'totalActiveTime': 31, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'LicenseManager', 'state': 'S', 'ttyName': '?'}, '2615': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': '/usr/bin/conlogd', 'state': 'S', 'ttyName': '?'}, '2616': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': '/sbin/agetty --noclear tty1 linux', 'state': 'Ss+', 'ttyName': 'tty1'}, '2617': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': '/sbin/mingetty --noclear /dev/ttyS0', 'state': 'Ss+', 'ttyName': 'ttyS0'}, '2631': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': '[SuperServer] <defunct>', 'state': 'Zs', 'ttyName': '?'}, '2634': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': "sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2615 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'", 'state': 'S', 'ttyName': '?'}, '2637': {'totalActiveTime': 16, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': '/usr/bin/tail -n 0 --retry --follow=name --pid=2615 /var/log/eos-console', 'state': 'S', 'ttyName': '?'}, '2638': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'sed s/\\(.*\\)/\\1\\r/', 'state': 'S', 'ttyName': '?'}, '2660': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'netns --agenttitle=Ipsec --demuxerOpts=369515596564,369515372050,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec', 'state': 'S', 'ttyName': '?'}, '2661': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2662': {'totalActiveTime': 447, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'Ipsec', 'state': 'S', 'ttyName': '?'}, '2671': {'totalActiveTime': 1, 'memPct': 0.4, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1', 'state': 'Ss', 'ttyName': '?'}, '2699': {'totalActiveTime': 46, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'ntpd -u ntp:ntp -g -p /var/run/ntpd.pid', 'state': 'Ssl', 'ttyName': '?'}, '2739': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': 'fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc', 'state': 'Ss', 'ttyName': '?'}, '2978': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599667621.0, 'cmd': '[kworker/0:0]', 'state': 'S', 'ttyName': '?'}, '3281': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281693.0, 'cmd': 'netns --agenttitle=Nat --demuxerOpts=1027180400275,1027179642339,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Nat', 'state': 'S', 'ttyName': '?'}, '3289': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281693.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3290': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281693.0, 'cmd': 'netns --agenttitle=Vxlan --demuxerOpts=1027289964523,1027289360240,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Vxlan', 'state': 'S', 'ttyName': '?'}, '3295': {'totalActiveTime': 362, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281693.0, 'cmd': 'Nat', 'state': 'S', 'ttyName': '?'}, '3297': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281693.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3301': {'totalActiveTime': 186, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281693.0, 'cmd': 'Vxlan', 'state': 'S', 'ttyName': '?'}, '3304': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281693.0, 'cmd': 'netns --agenttitle=VxlanSwFwd --demuxerOpts=1027467071119,1027361358810,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/VxlanSwFwd', 'state': 'S', 'ttyName': '?'}, '3307': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281694.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3308': {'totalActiveTime': 204, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281694.0, 'cmd': 'VxlanSwFwd', 'state': 'S', 'ttyName': '?'}, '3365': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281695.0, 'cmd': '/usr/libexec/strongswan/starter --daemon charon', 'state': 'Ss', 'ttyName': '?'}, '3367': {'totalActiveTime': 51, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281695.0, 'cmd': '/usr/libexec/strongswan/charon --use-syslog', 'state': 'Ssl', 'ttyName': '?'}, '3403': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281695.0, 'cmd': 'netns --agenttitle=Fhrp --demuxerOpts=1035728404808,1035728156871,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Fhrp --scheduled', 'state': 'S', 'ttyName': '?'}, '3404': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281695.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3929': {'totalActiveTime': 1, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281918.0, 'cmd': '[kworker/u8:0]', 'state': 'S', 'ttyName': '?'}, '4048': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281919.0, 'cmd': '/usr/sbin/dnsmasq', 'state': 'S', 'ttyName': '?'}, '4431': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1598910305.0, 'cmd': '/bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh', 'state': 'S', 'ttyName': '?'}, '5793': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668281.0, 'cmd': '[kworker/0:3]', 'state': 'S', 'ttyName': '?'}, '8439': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668641.0, 'cmd': '[kworker/0:2]', 'state': 'S', 'ttyName': '?'}, '10887': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669001.0, 'cmd': '[kworker/0:1]', 'state': 'S', 'ttyName': '?'}, '13032': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669122.0, 'cmd': 'sshd: [accepted] ', 'state': 'Ss', 'ttyName': '?'}, '13088': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669155.0, 'cmd': 'sshd: unknown [net] ', 'state': 'S', 'ttyName': '?'}, '13431': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669171.0, 'cmd': 'ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww', 'state': 'Rs', 'ttyName': '?'}, '18981': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1598457438.0, 'cmd': 'netns --agenttitle=CapiApp --demuxerOpts=5050812972099146,5050812971830009,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini', 'state': 'S', 'ttyName': '?'}, '18982': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1598457438.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '18983': {'totalActiveTime': 71, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1598457438.0, 'cmd': 'CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Sl', 'ttyName': '?'}, '19027': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1598457439.0, 'cmd': 'nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;', 'state': 'Ss', 'ttyName': '?'}, '19029': {'totalActiveTime': 68, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1598457439.0, 'cmd': 'nginx: worker process ', 'state': 'S', 'ttyName': '?'}, '30730': {'totalActiveTime': 665, 'memPct': 0.4, 'cpuPct': 0.0, 'startTime': 1597697371.0, 'cmd': 'dockerd -H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock -s overlay', 'state': 'Sl', 'ttyName': '?'}, '30750': {'totalActiveTime': 548, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597697372.0, 'cmd': 'docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc', 'state': 'Ssl', 'ttyName': '?'}}, 'timeInfo': {'upTime': 2387717.36, 'loadAvg': [1.82, 1.55, 1.38], 'users': 0, 'currentTime': 1599669171.658871}}, 'text': " 16:32:52 up 27 days, 15:15, 0 users, load average: 1.82, 1.55, 1.38\n PID %CPU %MEM TT STAT STARTED TIME CMD\n 1928 102 3.7 ? Sl Aug 13 28-06:28:46 Sfe\n 1725 0.4 2.2 ? Sl Aug 13 03:03:30 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.14.101 -taillogs -grpcaddr=0.0.0.0:6042\n 1582 0.2 8.6 ? Sl Aug 13 01:20:50 ConfigAgent\n 4449 0.2 0.6 ? SNl Aug 31 00:28:33 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config\n13087 0.2 0.1 ? Ss 16:32:35 00:00:00 sshd: unknown [priv] \n 1233 0.1 0.9 ? S Aug 13 01:15:08 ProcMgr-worker\n 3405 0.1 1.4 ? S Aug 13 01:12:09 Fhrp\n 1 0.0 0.0 ? Ss Aug 13 00:03:49 /sbin/init\n 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd]\n 3 0.0 0.0 ? S Aug 13 00:00:22 [ksoftirqd/0]\n 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H]\n 7 0.0 0.0 ? S Aug 13 00:00:36 [rcu_preempt]\n 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched]\n 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh]\n 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0]\n 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain]\n 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0]\n 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0]\n 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1]\n 15 0.0 0.0 ? S Aug 13 00:00:02 [watchdog/1]\n 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1]\n 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1]\n 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0]\n 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H]\n 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2]\n 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2]\n 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2]\n 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2]\n 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0]\n 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H]\n 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3]\n 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3]\n 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3]\n 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3]\n 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0]\n 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H]\n 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs]\n 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns]\n 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd]\n 35 0.0 0.0 ? S Aug 13 00:01:07 [khungtaskd2]\n 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper]\n 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback]\n 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0]\n 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto]\n 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd]\n 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd]\n 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff]\n 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller]\n 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task]\n 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd]\n 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd]\n 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl]\n 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod]\n 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod]\n 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0]\n 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat]\n 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod]\n 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd]\n 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme]\n 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd]\n 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf]\n 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq]\n 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-]\n 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver]\n 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H]\n 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0]\n 343 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:2]\n 380 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd\n 407 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f\n 499 0.0 0.0 ? S< Aug 13 00:00:00 [ena]\n 747 0.0 0.1 ? Ss Aug 13 00:02:19 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation\n 759 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1]\n 778 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground\n 782 0.0 0.0 ? Ss Aug 13 00:00:48 /usr/bin/ProcMonitor\n 789 0.0 0.0 ? Ss Aug 13 00:01:05 /usr/lib/systemd/systemd-logind\n 807 0.0 0.0 ? Ss Aug 13 00:00:12 /usr/sbin/crond -n\n 819 0.0 0.0 ? S<s Aug 13 00:00:17 /usr/bin/wdogdev -t 60\n 824 0.0 0.0 ? Ss Aug 13 00:00:03 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid\n 1005 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local\n 1007 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1017 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys\n 1018 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1034 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil\n 1038 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure\n 1039 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1064 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon\n 1179 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1180 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1213 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm\n 1216 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1218 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1232 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master\n 1478 0.0 0.0 ? S Aug 13 00:09:04 /usr/bin/EosOomAdjust\n 1486 0.0 0.0 ? S Aug 13 00:00:15 [rbfd_vrf_cleanu]\n 1501 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid\n 1538 0.0 0.0 ? S Aug 13 00:01:58 /usr/bin/SlabMonitor\n 1539 0.0 2.6 ? S Aug 13 00:38:33 Sysdb\n 1581 0.0 1.2 ? S Aug 13 00:00:34 StageMgr\n 1584 0.0 1.4 ? S Aug 13 00:01:46 Fru\n 1585 0.0 1.8 ? S Aug 13 00:00:56 Launcher\n 1714 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=267046295036,267046027633,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp\n 1715 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1717 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=267080979441,267080797725,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon\n 1718 0.0 1.2 ? S Aug 13 00:07:18 Lldp\n 1719 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1720 0.0 1.2 ? S Aug 13 00:03:02 McastCommon\n 1722 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=267138688824,267130622391,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec\n 1724 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1726 0.0 1.1 ? S Aug 13 00:02:04 PortSec\n 1739 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H]\n 1744 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=270600496842,267232117674,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd\n 1745 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1746 0.0 1.4 ? S Aug 13 00:03:58 Bfd\n 1747 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=271099376041,271003644947,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag\n 1750 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1751 0.0 1.3 ? S Aug 13 00:14:10 Lag\n 1754 0.0 1.7 ? S Aug 13 00:27:08 SuperServer\n 1767 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=275033642113,271344907121,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira\n 1768 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1769 0.0 1.5 ? S Aug 13 00:03:27 Ira\n 1772 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=275203075095,275062053558,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy\n 1773 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1774 0.0 1.2 ? S Aug 13 00:02:48 LedPolicy\n 1775 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=275412252849,275377553919,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr\n 1776 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1777 0.0 1.3 ? S Aug 13 00:06:40 EventMgr\n 1778 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=275530943653,275498520824,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx\n 1779 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1780 0.0 1.2 ? S Aug 13 00:22:41 StpTxRx\n 1781 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=275673918628,275618185987,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld\n 1783 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1784 0.0 1.1 ? S Aug 13 00:00:30 StandbyCpld\n 1785 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=275814961243,275751809451,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor\n 1786 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1787 0.0 1.0 ? S Aug 13 00:32:46 AgentMonitor\n 1788 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=279268129963,279198956916,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel\n 1789 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1790 0.0 1.6 ? Sl Aug 13 00:06:26 Aaa\n 1791 0.0 1.2 ? S Aug 13 00:01:10 Tunnel\n 1793 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=279517763852,279517565226,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology\n 1794 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1795 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=279733513327,279733258943,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl\n 1796 0.0 1.2 ? S Aug 13 00:03:19 StpTopology\n 1797 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1798 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=279939374338,279887740448,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp\n 1799 0.0 1.4 ? S Aug 13 00:19:20 Acl\n 1800 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1802 0.0 1.1 ? S Aug 13 00:04:26 Stp\n 1803 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=280114122924,280113919792,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo\n 1804 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1805 0.0 1.1 ? S Aug 13 00:01:44 KernelNetworkInfo\n 1806 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=283609312459,283573711926,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6\n 1807 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1809 0.0 1.2 ? S Aug 13 00:03:17 McastCommon6\n 1811 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=283839973599,283788015153,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent\n 1813 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1815 0.0 1.2 ? S Aug 13 00:03:11 LacpTxAgent\n 1816 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=284123665160,284036522428,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp\n 1817 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1818 0.0 1.5 ? S Aug 13 00:04:22 Arp\n 1820 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=284390286503,284256513379,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib\n 1821 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1822 0.0 1.4 ? S Aug 13 00:03:24 KernelFib\n 1824 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=287877695955,287770964417,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos\n 1825 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1826 0.0 1.2 ? S Aug 13 00:02:37 Qos\n 1827 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=288015969009,288008313449,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat\n 1828 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1831 0.0 1.1 ? S Aug 13 00:01:40 Thermostat\n 1834 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=288430062677,288320872305,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib\n 1838 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1839 0.0 1.2 ? S Aug 13 00:00:53 L2Rib\n 1841 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=288639642769,288566958102,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled\n 1842 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1844 0.0 1.2 ? S Aug 13 00:01:54 TopoAgent\n 1845 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=292156458136,288755017730,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse\n 1847 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1848 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=292294904749,292294697982,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager\n 1849 0.0 1.1 ? S Aug 13 00:00:28 PowerFuse\n 1852 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1853 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=292452307410,292452110553,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra\n 1854 0.0 1.1 ? S Aug 13 00:00:28 PowerManager\n 1856 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1859 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=292715604954,292692638320,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent\n 1860 0.0 1.4 ? S Aug 13 00:05:30 Ebra\n 1861 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1864 0.0 1.1 ? S Aug 13 00:00:30 ReloadCauseAgent\n 1866 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=292863065168,292847136027,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile\n 1874 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1881 0.0 1.5 ? S Aug 13 00:03:32 IgmpSnooping\n 1883 0.0 1.1 ? S Aug 13 00:00:30 SharedSecretProfile\n 1894 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=296809139147,296808906976,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled\n 1898 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1901 0.0 1.3 ? S Aug 13 00:01:30 StaticRoute\n 1903 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=296917164765,296916917865,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled\n 1906 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1907 0.0 1.7 ? S Aug 13 00:08:01 IpRib\n 1909 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=297076889668,297076654146,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled\n 1910 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1911 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=297209669171,297209436301,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute\n 1912 0.0 1.9 ? S Aug 13 00:01:50 BgpCliHelper\n 1914 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1915 0.0 1.3 ? S Aug 13 00:03:25 ConnectedRoute\n 1916 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=297333111290,297332906647,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput\n 1918 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1919 0.0 1.3 ? S Aug 13 00:01:33 RouteInput\n 1920 0.0 2.3 ? Sl Aug 13 00:13:31 Bgp\n 1922 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=301070490425,300896034705,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe\n 1926 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2295 0.0 0.0 ? Ssl Aug 13 00:00:15 /usr/sbin/rsyslogd -n\n 2356 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=348668178089,348667946331,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager\n 2360 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2363 0.0 1.1 ? S Aug 13 00:00:31 LicenseManager\n 2615 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd\n 2616 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux\n 2617 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0\n 2631 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct>\n 2634 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2615 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'\n 2637 0.0 0.0 ? S Aug 13 00:00:16 /usr/bin/tail -n 0 --retry --follow=name --pid=2615 /var/log/eos-console\n 2638 0.0 0.0 ? S Aug 13 00:00:00 sed s/\\(.*\\)/\\1\\r/\n 2660 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=369515596564,369515372050,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec\n 2661 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2662 0.0 1.2 ? S Aug 13 00:07:27 Ipsec\n 2671 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1\n 2699 0.0 0.1 ? Ssl Aug 13 00:00:46 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid\n 2739 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc\n 2978 0.0 0.0 ? S 16:07:01 00:00:00 [kworker/0:0]\n 3281 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Nat --demuxerOpts=1027180400275,1027179642339,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Nat\n 3289 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3290 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Vxlan --demuxerOpts=1027289964523,1027289360240,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Vxlan\n 3295 0.0 1.2 ? S Aug 13 00:06:02 Nat\n 3297 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3301 0.0 1.3 ? S Aug 13 00:03:06 Vxlan\n 3304 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=VxlanSwFwd --demuxerOpts=1027467071119,1027361358810,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/VxlanSwFwd\n 3307 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3308 0.0 1.3 ? S Aug 13 00:03:24 VxlanSwFwd\n 3365 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon\n 3367 0.0 0.1 ? Ssl Aug 13 00:00:51 /usr/libexec/strongswan/charon --use-syslog\n 3403 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Fhrp --demuxerOpts=1035728404808,1035728156871,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Fhrp --scheduled\n 3404 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3929 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:0]\n 4048 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq\n 4431 0.0 0.0 ? S Aug 31 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh\n 5793 0.0 0.0 ? S 16:18:01 00:00:00 [kworker/0:3]\n 8439 0.0 0.0 ? S 16:24:01 00:00:00 [kworker/0:2]\n10887 0.0 0.0 ? S 16:30:01 00:00:00 [kworker/0:1]\n13032 0.0 0.0 ? Ss 16:32:02 00:00:00 sshd: [accepted] \n13088 0.0 0.0 ? S 16:32:35 00:00:00 sshd: unknown [net] \n13447 0.0 0.0 ? Rs 16:32:51 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww\n18981 0.0 0.0 ? S Aug 26 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=5050812972099146,5050812971830009,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini\n18982 0.0 0.3 ? Ss Aug 26 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n18983 0.0 1.3 ? Sl Aug 26 00:01:11 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n19027 0.0 0.0 ? Ss Aug 26 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;\n19029 0.0 0.1 ? S Aug 26 00:01:08 nginx: worker process \n30730 0.0 0.4 ? Sl Aug 17 00:11:05 dockerd -H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock -s overlay\n30750 0.0 0.1 ? Ssl Aug 17 00:09:08 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc\n"}, 'show running-config section username': {'json': {'output': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'text': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'show aaa counters': {'json': {'authenticationSuccess': 74264, 'authorizationAllowed': 2325, 'accountingSuccess': 0, 'pendingAccountingRequests': 0, 'authorizationDenied': 0, 'authenticationFail': 7, 'authenticationUnavailable': 355, 'accountingError': 0, 'authorizationUnavailable': 0}, 'text': 'Authentication\n Successful: 74269\n Failed: 7\n Service unavailable: 355\n\nAuthorization\n Allowed: 2325\n Denied: 0\n Service unavailable: 0\n\nAccounting\n Successful: 0\n Error: 0\n Pending: 0\n\nLast time counters were cleared: never\n'}, 'show users detail': {'json': {'serials': {}, 'nonInteractives': {'76079': {'username': 'kgrozis', 'state': 'established', 'sessionStartTime': 1599669160, 'role': '', 'service': 'commandApi', 'authMethod': 'local'}}, 'vtys': {}}, 'text': 'Session Username Roles TTY State Duration Auth Remote Host \n-------- --------- ------- ------------- ------- ---------- ------- ----------- \n76079 kgrozis command-api E 0:00:13 local \n'}, 'show aaa methods all': {'json': {'authorization': {'commandsAuthzMethods': {'privilege0-15': {'methods': ['none']}}, 'execAuthzMethods': {'exec': {'methods': ['none']}}}, 'authentication': {'loginAuthenMethods': {'default': {'methods': ['local']}}, 'dot1xAuthenMethods': {'default': {'methods': []}}, 'enableAuthenMethods': {'default': {'methods': ['local']}}}, 'accounting': {'systemAcctMethods': {'system': {'defaultMethods': [], 'consoleMethods': []}}, 'execAcctMethods': {'exec': {'defaultMethods': [], 'consoleMethods': []}}, 'commandsAcctMethods': {'privilege0-15': {'defaultMethods': [], 'consoleMethods': []}}, 'dot1xAcctMethods': {'dot1x': {'defaultMethods': [], 'consoleMethods': []}}}}, 'text': 'Authentication method lists for LOGIN:\n name=default methods=local\nAuthentication method list for ENABLE:\n name=default methods=local\nAuthentication method list for DOT1X:\n name=default methods=\nAuthorization method lists for COMMANDS:\n name=privilege0-15 methods=none\nAuthorization method list for EXEC:\n name=exec methods=none\nAccounting method lists for COMMANDS:\n name=privilege0-15 default-action=none\nAccounting method list for EXEC:\n name=exec default-action=none\nAccounting method list for SYSTEM:\n name=system default-action=none\nAccounting method list for DOT1X:\n name=dot1x default-action=none\n'}, 'show ntp status': {'json': {'status': 'synchronised', 'pollingInterval': 256, 'stratum': 4, 'maxEstimatedError': 17, 'server': '169.254.169.123'}, 'text': 'synchronised to NTP server (169.254.169.123) at stratum 4\n time correct to within 17 ms\n polling server every 256 s\n\n'}, 'show ntp associations': {'json': {'peers': {'169.254.169.123': {'delay': 0.107, 'jitter': 0.2, 'lastReceived': 1599669099.0, 'peerType': 'local', 'reachabilityHistory': [True, True, True, True, True, True, True, True], 'condition': 'sys.peer', 'offset': 1.627, 'peerIpAddr': '169.254.169.123', 'pollInterval': 256, 'refid': '169.254.169.122', 'stratumLevel': 3}}}, 'text': ' remote refid st t when poll reach delay offset jitter\n==============================================================================\n*169.254.169.123 169.254.169.12 3 l 78 256 377 0.107 1.627 0.2\n'}, 'show daemon': {'json': {'daemons': {'TerminAttr': {'running': True, 'option': {}, 'starttime': 1597281517.1914241, 'pid': 1725, 'enabled': True, 'uptime': 2387660.17, 'data': {}, 'isSdkAgent': False}}}, 'text': 'Process: TerminAttr (running with PID 1725)\nUptime: 27 days, 15:14:20 (Start time: Thu Aug 13 01:18:37 2020)\nNo configuration options stored.\n\nNo status data stored.\n\n'}, 'show zerotouch': {'json': {'mode': 'disabled', 'scriptTimeout': 900}, 'text': '\nZeroTouch Mode: Disabled\nScript Exec Timeout: 900\n'}, 'dir flash:zerotouch-config': {'json': {'messages': ['Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7291572224 bytes free)\n']}, 'text': 'Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7291572224 bytes free)\n'}, 'show system environment temperature': {'json': {'cardSlots': [], 'powerSupplySlots': [], 'shutdownOnOverheat': True, 'tempSensors': [], 'systemStatus': 'unknownTemperatureAlarmLevel'}, 'text': 'System temperature status is: Unknown\n'}, 'show system environment cooling': {'json': {'overrideFanSpeed': 0, 'coolingMode': 'automatic', 'powerSupplySlots': [], 'fanTraySlots': [], 'minFanSpeed': 0, 'shutdownOnInsufficientFans': True, 'systemStatus': 'unknownCoolingAlarmLevel', 'airflowDirection': 'unknownAirflowDirection'}, 'text': 'System cooling status is: Unknown\nAmbient temperature: Unknown\n Config Actual Speed Stable\nFan Status Speed Speed Uptime Stability Uptime\n--- ------ ------ ------ ------ --------- ------\n'}, 'show management api http-commands': {'json': {'httpServer': {'running': False, 'configured': False, 'port': 80}, 'users': {'kgrozis': {'requestCount': 67300, 'bytesOut': 194831265, 'lastHitTime': 1599669179.0062382, 'bytesIn': 10886628}}, 'bytesOut': 194831265, 'logLevel': 'none', 'dscpValue': 0, 'corsOrigins': [], 'hitCount': 71703, 'vrf': 'default', 'lastHitTime': 1599669179.0062096, 'tlsProtocol': ['1.0', '1.1', '1.2'], 'localHttpServer': {'running': False, 'configured': False, 'port': 8080}, 'executionTime': 6065.486179828993, 'enabled': True, 'fipsEnabled': False, 'httpsServer': {'running': True, 'configured': True, 'port': 443}, 'requestCount': 67300, 'vrfs': ['default'], 'urls': ['Ethernet1 : https://11.201.14.101:443', 'Ethernet2 : https://11.201.14.201:443', 'Ethernet100 : https://11.201.8.1:443', 'Loopback0 : https://11.201.0.1:443', 'Loopback10 : https://198.18.0.35:443'], 'unixSocketServer': {'running': False, 'configured': False}, 'bytesIn': 10886628, 'commandCount': 134600, 'iframeAncestors': []}, 'text': 'Enabled: Yes\nHTTPS server: running, set to use port 443\nHTTP server: shutdown, set to use port 80\nLocal HTTP server: shutdown, no authentication, set to use port 8080\nUnix Socket server: shutdown, no authentication\nVRFs: default\nHits: 71705\nLast hit: 0 seconds ago\nBytes in: 10886936\nBytes out: 194832453\nRequests: 67302\nCommands: 134604\nDuration: 6065.501 seconds\nSSL Profile: none\nFIPS Mode: No\nQoS DSCP: 0\nLog Level: none\nCSP Frame Ancestor: None\nTLS Protocols: 1.0 1.1 1.2\n User Requests Bytes in Bytes out Last hit \n------------- -------------- -------------- --------------- ------------- \n kgrozis 67302 10886936 194832453 0 seconds ago \n\nURLs \n--------------------------------------- \nEthernet1 : https://11.201.14.101:443 \nEthernet2 : https://11.201.14.201:443 \nEthernet100 : https://11.201.8.1:443 \nLoopback0 : https://11.201.0.1:443 \nLoopback10 : https://198.18.0.35:443 \n\n'}, 'show tacacs': {'json': {'tacacsServers': [], 'groups': {}, 'srcIntf': {}, 'lastCounterClearTime': 0.0}, 'text': '\nLast time counters were cleared: never\n'}, 'show logging': {'json': {'output': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:19 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:31 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:27 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:38 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:47 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:11 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:27 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:36 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:45 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:55 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:24:04 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:37 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:48 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:57 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:54 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:27:03 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:07 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:21 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:29 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:08 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:19 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:28 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}, 'text': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:19 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:31 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:27 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:38 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:47 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:11 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:27 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:36 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:45 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:55 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:24:04 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:37 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:48 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:57 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:54 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:27:03 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:07 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:21 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:29 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:08 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:19 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:28 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}}} test_name: test_if_files_on_ test_parameters: {'parameters': {'show_log': 'show_output.log'}} INFO root:tests_tools.py:250 Return model data and text output from show commands and log text output for show file information flash:veos-config with connnection Node(connection=EapiConnection(transport=https://3.132.90.164:443//command-api)) INFO root:tests_tools.py:254 Raw json output of show file information flash:veos-config on dut kg-topology-CloudEOSEdge1: [{'command': 'show file information flash:veos-config', 'result': {'isDir': False, 'path': 'flash:/veos-config', 'fileName': '/mnt/flash/veos-config'}, 'encoding': 'json'}] INFO root:tests_tools.py:257 Raw text output of show file information flash:veos-config on dut kg-topology-CloudEOSEdge1: [{'output': 'flash:/veos-config:\n type is file\n'}] INFO root:tests_tools.py:311 Open log file for logging test show commands INFO root:tests_tools.py:315 Opening file show_output.log and append show output: flash:/veos-config: type is file INFO root:test_filesystem.py:80 WHEN flash:veos-config file isDir state is |False| INFO root:test_filesystem.py:84 THEN test case result is |True| INFO root:test_filesystem.py:85 OUTPUT of |show file information flash:veos-config| is : [{'output': 'flash:/veos-config:\n type is file\n'}] INFO root:test_filesystem.py:70 TEST is flash:zerotouch-config file present on |kg-topology-CloudEOSEdge1| INFO root:test_filesystem.py:71 GIVEN expected flash:zerotouch-config isDir state: |False| INFO root:tests_tools.py:245 Raw Input for return_show_cmd show_cmd: show file information flash:zerotouch-config dut: {'connection': Node(connection=EapiConnection(transport=https://3.132.90.164:443//command-api)), 'name': 'kg-topology-CloudEOSEdge1', 'output': {'interface_list': [{'hostname': 'kg-topology-CloudEOSEdge1', 'interface_name': 'Ethernet1', 'z_hostname': 'spine01', 'z_interface_name': 'Ethernet2', 'media_type': ''}, {'hostname': 'kg-topology-CloudEOSEdge1', 'interface_name': 'Ethernet2', 'z_hostname': 'leaf01', 'z_interface_name': 'Ethernet2', 'media_type': ''}], 'show interfaces status': {'json': {'interfaceStatuses': {'Ethernet2.102': {'vlanInformation': {'interfaceMode': 'encap', 'vlanId': 102, 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': 'dot1q-encapsulation', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'encapsulation': {'encapsulationType': 'dot1q', 'dot1qVlanTags': [102]}, 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet2': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet100': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 10000000000, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet1': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}}}, 'text': 'Port Name Status Vlan Duplex Speed Type Flags Encapsulation\nEt1 connected routed full unconf 10/100/1000 \nEt2 connected routed full unconf 10/100/1000 \nEt2.102 connected routed full unconf dot1q-encapsulation 102 \nEt100 connected routed full 10G 10/100/1000 \n\n'}, 'show interfaces phy detail': {'json': {'interfacePhyStatuses': {}}, 'text': ''}, 'show hostname': {'json': {'fqdn': 'kg-topology-CloudEOSEdge1', 'hostname': 'kg-topology-CloudEOSEdge1'}, 'text': 'Hostname: kg-topology-CloudEOSEdge1\nFQDN: kg-topology-CloudEOSEdge1\n'}, 'show extensions': {'json': {'extensions': {'awslogs.swix': {'status': 'installed', 'vendor': 'Amazon <UNKNOWN>', 'description': ' awsclicwlogs This awscli plugin provides the pull, push and filter commands to\naccess AWS CloudWatch Logs service. The awsclicwlogs package works on Python\nversions:* 2.6.5 and greater * 2.7.x and greater * 3.3.x and greater\nInstallation The easiest way to install awsclicwlogs is to use pip_:: $ pip\ninstall awsclicwlogsor, if you are not installing in a virtualenv:: $ sudo pip\ninstall ...', 'presence': 'present', 'rpms': {'awslogs.noarch.rpm': {'release': '1.el7', 'version': '1.4.0'}}, 'summary': 'AWSCLI CloudWatch Logs plugin', 'version': '1.4.0', 'numRpms': 1, 'error': False, 'release': '1.el7', 'installedSize': 23414055}, 'awsha.rpm': {'status': 'installed', 'vendor': '', 'description': 'Aws HA', 'presence': 'present', 'rpms': {'awsha.rpm': {'release': '1', 'version': '0.1.1'}}, 'summary': 'Aws HA', 'version': '0.1.1', 'numRpms': 1, 'error': False, 'release': '1', 'installedSize': 10073042}}}, 'text': 'Name Version/Release Status Extension\n----------------- -------------------- ----------- ---------\nawsha.rpm 0.1.1/1 A, I 1 \nawslogs.swix 1.4.0/1.el7 A, I 1 \n\n\nA: available | NA: not available | I: installed | NI: not installed | F: forced\nS: valid signature | NS: invalid signature\n'}, 'show version': {'json': {'memTotal': 7818736, 'uptime': 2387716.94, 'modelName': 'vEOS', 'internalVersion': '4.23.1F-cloud-16179785.jakartarel', 'mfgName': 'Arista', 'serialNumber': 'DB3968957436BF7623C810C9F13FC97E', 'systemMacAddress': '02:9e:d2:0a:bb:fc', 'bootupTimestamp': 1597281454.0, 'memFree': 2804268, 'version': '4.23.1F-cloud-16179785.jakartarel (engineering build)', 'configMacAddress': '00:00:00:00:00:00', 'isIntlVersion': False, 'internalBuildId': '6bc96200-86c1-4e86-bed7-8280a6802809', 'hardwareRevision': '', 'hwMacAddress': '00:00:00:00:00:00', 'architecture': 'x86_64'}, 'text': 'Arista vEOS\nHardware version: \nSerial number: DB3968957436BF7623C810C9F13FC97E\nSystem MAC address: 029e.d20a.bbfc\n\nSoftware image version: 4.23.1F-cloud-16179785.jakartarel (engineering build)\nArchitecture: x86_64\nInternal build version: 4.23.1F-cloud-16179785.jakartarel\nInternal build ID: 6bc96200-86c1-4e86-bed7-8280a6802809\n\nUptime: 3 weeks, 6 days, 15 hours and 15 minutes\nTotal memory: 7818736 kB\nFree memory: 2803948 kB\n\n'}, 'show processes': {'json': {'processes': {'1928': {'totalActiveTime': 2442526, 'memPct': 3.7, 'cpuPct': 102.0, 'startTime': 1597281524.0, 'cmd': 'Sfe', 'state': 'Sl', 'ttyName': '?'}, '1725': {'totalActiveTime': 11010, 'memPct': 2.2, 'cpuPct': 0.4, 'startTime': 1597281516.0, 'cmd': '/usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.14.101 -taillogs -grpcaddr=0.0.0.0:6042', 'state': 'Sl', 'ttyName': '?'}, '1582': {'totalActiveTime': 4850, 'memPct': 8.6, 'cpuPct': 0.2, 'startTime': 1597281495.0, 'cmd': 'ConfigAgent', 'state': 'Sl', 'ttyName': '?'}, '4449': {'totalActiveTime': 1713, 'memPct': 0.6, 'cpuPct': 0.2, 'startTime': 1598910306.0, 'cmd': 'python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config', 'state': 'SNl', 'ttyName': '?'}, '13087': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.2, 'startTime': 1599669155.0, 'cmd': 'sshd: unknown [priv] ', 'state': 'Ss', 'ttyName': '?'}, '1233': {'totalActiveTime': 4508, 'memPct': 0.9, 'cpuPct': 0.1, 'startTime': 1597281478.0, 'cmd': 'ProcMgr-worker', 'state': 'S', 'ttyName': '?'}, '3405': {'totalActiveTime': 4329, 'memPct': 1.4, 'cpuPct': 0.1, 'startTime': 1597281695.0, 'cmd': 'Fhrp', 'state': 'S', 'ttyName': '?'}, '1': {'totalActiveTime': 229, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '/sbin/init', 'state': 'Ss', 'ttyName': '?'}, '2': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kthreadd]', 'state': 'S', 'ttyName': '?'}, '3': {'totalActiveTime': 22, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ksoftirqd/0]', 'state': 'S', 'ttyName': '?'}, '5': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kworker/0:0H]', 'state': 'S<', 'ttyName': '?'}, '7': {'totalActiveTime': 36, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[rcu_preempt]', 'state': 'S', 'ttyName': '?'}, '8': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[rcu_sched]', 'state': 'S', 'ttyName': '?'}, '9': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[rcu_bh]', 'state': 'S', 'ttyName': '?'}, '10': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[migration/0]', 'state': 'S', 'ttyName': '?'}, '11': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[lru-add-drain]', 'state': 'S<', 'ttyName': '?'}, '12': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[watchdog/0]', 'state': 'S', 'ttyName': '?'}, '13': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[cpuhp/0]', 'state': 'S', 'ttyName': '?'}, '14': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[cpuhp/1]', 'state': 'S', 'ttyName': '?'}, '15': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[watchdog/1]', 'state': 'S', 'ttyName': '?'}, '16': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[migration/1]', 'state': 'S', 'ttyName': '?'}, '17': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ksoftirqd/1]', 'state': 'S', 'ttyName': '?'}, '18': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kworker/1:0]', 'state': 'S', 'ttyName': '?'}, '19': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kworker/1:0H]', 'state': 'S<', 'ttyName': '?'}, '20': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[cpuhp/2]', 'state': 'S', 'ttyName': '?'}, '21': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[watchdog/2]', 'state': 'S', 'ttyName': '?'}, '22': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[migration/2]', 'state': 'S', 'ttyName': '?'}, '23': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ksoftirqd/2]', 'state': 'S', 'ttyName': '?'}, '24': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kworker/2:0]', 'state': 'S', 'ttyName': '?'}, '25': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kworker/2:0H]', 'state': 'S<', 'ttyName': '?'}, '26': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[cpuhp/3]', 'state': 'S', 'ttyName': '?'}, '27': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[watchdog/3]', 'state': 'S', 'ttyName': '?'}, '28': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[migration/3]', 'state': 'S', 'ttyName': '?'}, '29': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ksoftirqd/3]', 'state': 'S', 'ttyName': '?'}, '30': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kworker/3:0]', 'state': 'S', 'ttyName': '?'}, '31': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kworker/3:0H]', 'state': 'S<', 'ttyName': '?'}, '32': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kdevtmpfs]', 'state': 'S', 'ttyName': '?'}, '33': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[netns]', 'state': 'S<', 'ttyName': '?'}, '34': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[khungtaskd]', 'state': 'S', 'ttyName': '?'}, '35': {'totalActiveTime': 67, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[khungtaskd2]', 'state': 'S', 'ttyName': '?'}, '36': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[oom_reaper]', 'state': 'S', 'ttyName': '?'}, '37': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[writeback]', 'state': 'S<', 'ttyName': '?'}, '38': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kcompactd0]', 'state': 'S', 'ttyName': '?'}, '39': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[crypto]', 'state': 'S<', 'ttyName': '?'}, '40': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kintegrityd]', 'state': 'S<', 'ttyName': '?'}, '41': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '42': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kblockd]', 'state': 'S<', 'ttyName': '?'}, '43': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ata_sff]', 'state': 'S<', 'ttyName': '?'}, '44': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[edac-poller]', 'state': 'S<', 'ttyName': '?'}, '45': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[dst_gc_task]', 'state': 'S', 'ttyName': '?'}, '46': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[watchdogd]', 'state': 'S<', 'ttyName': '?'}, '47': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[arp_cache-prd]', 'state': 'S', 'ttyName': '?'}, '49': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[icmp_unreachabl]', 'state': 'S', 'ttyName': '?'}, '50': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[rpciod]', 'state': 'S<', 'ttyName': '?'}, '51': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[xprtiod]', 'state': 'S<', 'ttyName': '?'}, '52': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[kswapd0]', 'state': 'S', 'ttyName': '?'}, '53': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[vmstat]', 'state': 'S<', 'ttyName': '?'}, '54': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[nfsiod]', 'state': 'S<', 'ttyName': '?'}, '63': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[pcielwd]', 'state': 'S<', 'ttyName': '?'}, '64': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '65': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '66': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '67': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '68': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '69': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '70': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '71': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '72': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[nvme]', 'state': 'S<', 'ttyName': '?'}, '74': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ndisc_cache-prd]', 'state': 'S', 'ttyName': '?'}, '75': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ipv6_addrconf]', 'state': 'S<', 'ttyName': '?'}, '76': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ecc_log_wq]', 'state': 'S<', 'ttyName': '?'}, '124': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '125': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '171': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[jbd2/nvme0n1p1-]', 'state': 'S', 'ttyName': '?'}, '172': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281454.0, 'cmd': '[ext4-rsv-conver]', 'state': 'S<', 'ttyName': '?'}, '194': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281455.0, 'cmd': '[kworker/0:1H]', 'state': 'S<', 'ttyName': '?'}, '272': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281461.0, 'cmd': '[loop0]', 'state': 'S<', 'ttyName': '?'}, '343': {'totalActiveTime': 1, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281463.0, 'cmd': '[kworker/u8:2]', 'state': 'S', 'ttyName': '?'}, '380': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281463.0, 'cmd': '/usr/lib/systemd/systemd-udevd', 'state': 'Ss', 'ttyName': '?'}, '407': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281463.0, 'cmd': '/usr/sbin/lvmetad -f', 'state': 'Ss', 'ttyName': '?'}, '499': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281464.0, 'cmd': '[ena]', 'state': 'S<', 'ttyName': '?'}, '747': {'totalActiveTime': 139, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281464.0, 'cmd': '/usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation', 'state': 'Ss', 'ttyName': '?'}, '759': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '[kworker/1:1]', 'state': 'S', 'ttyName': '?'}, '778': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '/usr/sbin/mcelog --ignorenodev --daemon --foreground', 'state': 'Ss', 'ttyName': '?'}, '782': {'totalActiveTime': 48, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '/usr/bin/ProcMonitor', 'state': 'Ss', 'ttyName': '?'}, '789': {'totalActiveTime': 65, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '/usr/lib/systemd/systemd-logind', 'state': 'Ss', 'ttyName': '?'}, '807': {'totalActiveTime': 12, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '/usr/sbin/crond -n', 'state': 'Ss', 'ttyName': '?'}, '819': {'totalActiveTime': 17, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '/usr/bin/wdogdev -t 60', 'state': 'S<s', 'ttyName': '?'}, '824': {'totalActiveTime': 3, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281465.0, 'cmd': '/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid', 'state': 'Ss', 'ttyName': '?'}, '1005': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local', 'state': 'S', 'ttyName': '?'}, '1007': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/0'}, '1017': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys', 'state': 'S', 'ttyName': '?'}, '1018': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/1'}, '1034': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '/usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil', 'state': 'Ss', 'ttyName': '?'}, '1038': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure', 'state': 'S', 'ttyName': '?'}, '1039': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/2'}, '1064': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '/bin/bash /usr/sbin/core_annotate_util daemon', 'state': 'Ss', 'ttyName': '?'}, '1179': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281472.0, 'cmd': 'python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1180': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281472.0, 'cmd': '/usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1213': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281472.0, 'cmd': 'inotifywait -e modify /var/lib/rpm', 'state': 'S', 'ttyName': '?'}, '1216': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281478.0, 'cmd': 'netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1218': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281478.0, 'cmd': 'netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1232': {'totalActiveTime': 0, 'memPct': 0.9, 'cpuPct': 0.0, 'startTime': 1597281478.0, 'cmd': 'ProcMgr-master', 'state': 'S', 'ttyName': '?'}, '1478': {'totalActiveTime': 544, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281492.0, 'cmd': '/usr/bin/EosOomAdjust', 'state': 'S', 'ttyName': '?'}, '1486': {'totalActiveTime': 15, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281492.0, 'cmd': '[rbfd_vrf_cleanu]', 'state': 'S', 'ttyName': '?'}, '1501': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281492.0, 'cmd': '/usr/sbin/acpid', 'state': 'Ss', 'ttyName': '?'}, '1538': {'totalActiveTime': 118, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281492.0, 'cmd': '/usr/bin/SlabMonitor', 'state': 'S', 'ttyName': '?'}, '1539': {'totalActiveTime': 2313, 'memPct': 2.6, 'cpuPct': 0.0, 'startTime': 1597281492.0, 'cmd': 'Sysdb', 'state': 'S', 'ttyName': '?'}, '1581': {'totalActiveTime': 34, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281495.0, 'cmd': 'StageMgr', 'state': 'S', 'ttyName': '?'}, '1584': {'totalActiveTime': 106, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281495.0, 'cmd': 'Fru', 'state': 'S', 'ttyName': '?'}, '1585': {'totalActiveTime': 56, 'memPct': 1.8, 'cpuPct': 0.0, 'startTime': 1597281495.0, 'cmd': 'Launcher', 'state': 'S', 'ttyName': '?'}, '1714': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'netns --agenttitle=Lldp --demuxerOpts=267046295036,267046027633,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp', 'state': 'S', 'ttyName': '?'}, '1715': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1717': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'netns --agenttitle=McastCommon --demuxerOpts=267080979441,267080797725,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon', 'state': 'S', 'ttyName': '?'}, '1718': {'totalActiveTime': 438, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'Lldp', 'state': 'S', 'ttyName': '?'}, '1719': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1720': {'totalActiveTime': 182, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'McastCommon', 'state': 'S', 'ttyName': '?'}, '1722': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'netns --agenttitle=PortSec --demuxerOpts=267138688824,267130622391,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec', 'state': 'S', 'ttyName': '?'}, '1724': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1726': {'totalActiveTime': 124, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281516.0, 'cmd': 'PortSec', 'state': 'S', 'ttyName': '?'}, '1739': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': '[kworker/1:1H]', 'state': 'S<', 'ttyName': '?'}, '1744': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': 'netns --agenttitle=Bfd --demuxerOpts=270600496842,267232117674,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd', 'state': 'S', 'ttyName': '?'}, '1745': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1746': {'totalActiveTime': 238, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': 'Bfd', 'state': 'S', 'ttyName': '?'}, '1747': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': 'netns --agenttitle=Lag --demuxerOpts=271099376041,271003644947,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag', 'state': 'S', 'ttyName': '?'}, '1750': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1751': {'totalActiveTime': 850, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': 'Lag', 'state': 'S', 'ttyName': '?'}, '1754': {'totalActiveTime': 1628, 'memPct': 1.7, 'cpuPct': 0.0, 'startTime': 1597281517.0, 'cmd': 'SuperServer', 'state': 'S', 'ttyName': '?'}, '1767': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netns --agenttitle=Ira --demuxerOpts=275033642113,271344907121,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira', 'state': 'S', 'ttyName': '?'}, '1768': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1769': {'totalActiveTime': 207, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'Ira', 'state': 'S', 'ttyName': '?'}, '1772': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netns --agenttitle=LedPolicy --demuxerOpts=275203075095,275062053558,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy', 'state': 'S', 'ttyName': '?'}, '1773': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1774': {'totalActiveTime': 168, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'LedPolicy', 'state': 'S', 'ttyName': '?'}, '1775': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netns --agenttitle=EventMgr --demuxerOpts=275412252849,275377553919,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr', 'state': 'S', 'ttyName': '?'}, '1776': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1777': {'totalActiveTime': 400, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'EventMgr', 'state': 'S', 'ttyName': '?'}, '1778': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netns --agenttitle=StpTxRx --demuxerOpts=275530943653,275498520824,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx', 'state': 'S', 'ttyName': '?'}, '1779': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1780': {'totalActiveTime': 1361, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'StpTxRx', 'state': 'S', 'ttyName': '?'}, '1781': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netns --agenttitle=StandbyCpld --demuxerOpts=275673918628,275618185987,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1783': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1784': {'totalActiveTime': 30, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1785': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281518.0, 'cmd': 'netns --agenttitle=AgentMonitor --demuxerOpts=275814961243,275751809451,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1786': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1787': {'totalActiveTime': 1966, 'memPct': 1.0, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1788': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netns --agenttitle=Tunnel --demuxerOpts=279268129963,279198956916,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel', 'state': 'S', 'ttyName': '?'}, '1789': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1790': {'totalActiveTime': 386, 'memPct': 1.6, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'Aaa', 'state': 'Sl', 'ttyName': '?'}, '1791': {'totalActiveTime': 70, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'Tunnel', 'state': 'S', 'ttyName': '?'}, '1793': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netns --agenttitle=StpTopology --demuxerOpts=279517763852,279517565226,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology', 'state': 'S', 'ttyName': '?'}, '1794': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1795': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netns --agenttitle=Acl --demuxerOpts=279733513327,279733258943,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl', 'state': 'S', 'ttyName': '?'}, '1796': {'totalActiveTime': 199, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'StpTopology', 'state': 'S', 'ttyName': '?'}, '1797': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1798': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netns --agenttitle=Stp --demuxerOpts=279939374338,279887740448,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp', 'state': 'S', 'ttyName': '?'}, '1799': {'totalActiveTime': 1160, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'Acl', 'state': 'S', 'ttyName': '?'}, '1800': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1802': {'totalActiveTime': 266, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'Stp', 'state': 'S', 'ttyName': '?'}, '1803': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281519.0, 'cmd': 'netns --agenttitle=KernelNetworkInfo --demuxerOpts=280114122924,280113919792,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1804': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1805': {'totalActiveTime': 104, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1806': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netns --agenttitle=McastCommon6 --demuxerOpts=283609312459,283573711926,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6', 'state': 'S', 'ttyName': '?'}, '1807': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1809': {'totalActiveTime': 197, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'McastCommon6', 'state': 'S', 'ttyName': '?'}, '1811': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netns --agenttitle=LacpTxAgent --demuxerOpts=283839973599,283788015153,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1813': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1815': {'totalActiveTime': 191, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1816': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netns --agenttitle=Arp --demuxerOpts=284123665160,284036522428,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp', 'state': 'S', 'ttyName': '?'}, '1817': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1818': {'totalActiveTime': 262, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'Arp', 'state': 'S', 'ttyName': '?'}, '1820': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281520.0, 'cmd': 'netns --agenttitle=KernelFib --demuxerOpts=284390286503,284256513379,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib', 'state': 'S', 'ttyName': '?'}, '1821': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1822': {'totalActiveTime': 204, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'KernelFib', 'state': 'S', 'ttyName': '?'}, '1824': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netns --agenttitle=Qos --demuxerOpts=287877695955,287770964417,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos', 'state': 'S', 'ttyName': '?'}, '1825': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1826': {'totalActiveTime': 157, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'Qos', 'state': 'S', 'ttyName': '?'}, '1827': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netns --agenttitle=Thermostat --demuxerOpts=288015969009,288008313449,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat', 'state': 'S', 'ttyName': '?'}, '1828': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1831': {'totalActiveTime': 100, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'Thermostat', 'state': 'S', 'ttyName': '?'}, '1834': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netns --agenttitle=L2Rib --demuxerOpts=288430062677,288320872305,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib', 'state': 'S', 'ttyName': '?'}, '1838': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1839': {'totalActiveTime': 53, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'L2Rib', 'state': 'S', 'ttyName': '?'}, '1841': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netns --agenttitle=TopoAgent --demuxerOpts=288639642769,288566958102,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled', 'state': 'S', 'ttyName': '?'}, '1842': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281521.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1844': {'totalActiveTime': 114, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'TopoAgent', 'state': 'S', 'ttyName': '?'}, '1845': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=PowerFuse --demuxerOpts=292156458136,288755017730,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse', 'state': 'S', 'ttyName': '?'}, '1847': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1848': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=PowerManager --demuxerOpts=292294904749,292294697982,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager', 'state': 'S', 'ttyName': '?'}, '1849': {'totalActiveTime': 28, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'PowerFuse', 'state': 'S', 'ttyName': '?'}, '1852': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1853': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=Ebra --demuxerOpts=292452307410,292452110553,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra', 'state': 'S', 'ttyName': '?'}, '1854': {'totalActiveTime': 28, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'PowerManager', 'state': 'S', 'ttyName': '?'}, '1856': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1859': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=ReloadCauseAgent --demuxerOpts=292715604954,292692638320,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1860': {'totalActiveTime': 330, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'Ebra', 'state': 'S', 'ttyName': '?'}, '1861': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1864': {'totalActiveTime': 30, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1866': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netns --agenttitle=SharedSecretProfile --demuxerOpts=292863065168,292847136027,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1874': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281522.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1881': {'totalActiveTime': 212, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'IgmpSnooping', 'state': 'S', 'ttyName': '?'}, '1883': {'totalActiveTime': 30, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1894': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netns --agenttitle=StaticRoute --demuxerOpts=296809139147,296808906976,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled', 'state': 'S', 'ttyName': '?'}, '1898': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1901': {'totalActiveTime': 90, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'StaticRoute', 'state': 'S', 'ttyName': '?'}, '1903': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netns --agenttitle=IpRib --demuxerOpts=296917164765,296916917865,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled', 'state': 'S', 'ttyName': '?'}, '1906': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1907': {'totalActiveTime': 481, 'memPct': 1.7, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'IpRib', 'state': 'S', 'ttyName': '?'}, '1909': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netns --agenttitle=BgpCliHelper --demuxerOpts=297076889668,297076654146,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled', 'state': 'S', 'ttyName': '?'}, '1910': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1911': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netns --agenttitle=ConnectedRoute --demuxerOpts=297209669171,297209436301,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '1912': {'totalActiveTime': 110, 'memPct': 1.9, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'BgpCliHelper', 'state': 'S', 'ttyName': '?'}, '1914': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281523.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1915': {'totalActiveTime': 205, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '1916': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'netns --agenttitle=RouteInput --demuxerOpts=297333111290,297332906647,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput', 'state': 'S', 'ttyName': '?'}, '1918': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1919': {'totalActiveTime': 93, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'RouteInput', 'state': 'S', 'ttyName': '?'}, '1920': {'totalActiveTime': 811, 'memPct': 2.3, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'Bgp', 'state': 'Sl', 'ttyName': '?'}, '1922': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'netns --agenttitle=Sfe --demuxerOpts=301070490425,300896034705,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe', 'state': 'S', 'ttyName': '?'}, '1926': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281524.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2295': {'totalActiveTime': 15, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': '/usr/sbin/rsyslogd -n', 'state': 'Ssl', 'ttyName': '?'}, '2356': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netns --agenttitle=LicenseManager --demuxerOpts=348668178089,348667946331,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager', 'state': 'S', 'ttyName': '?'}, '2360': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2363': {'totalActiveTime': 31, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'LicenseManager', 'state': 'S', 'ttyName': '?'}, '2615': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': '/usr/bin/conlogd', 'state': 'S', 'ttyName': '?'}, '2616': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': '/sbin/agetty --noclear tty1 linux', 'state': 'Ss+', 'ttyName': 'tty1'}, '2617': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': '/sbin/mingetty --noclear /dev/ttyS0', 'state': 'Ss+', 'ttyName': 'ttyS0'}, '2631': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': '[SuperServer] <defunct>', 'state': 'Zs', 'ttyName': '?'}, '2634': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': "sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2615 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'", 'state': 'S', 'ttyName': '?'}, '2637': {'totalActiveTime': 16, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': '/usr/bin/tail -n 0 --retry --follow=name --pid=2615 /var/log/eos-console', 'state': 'S', 'ttyName': '?'}, '2638': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'sed s/\\(.*\\)/\\1\\r/', 'state': 'S', 'ttyName': '?'}, '2660': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'netns --agenttitle=Ipsec --demuxerOpts=369515596564,369515372050,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec', 'state': 'S', 'ttyName': '?'}, '2661': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2662': {'totalActiveTime': 447, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'Ipsec', 'state': 'S', 'ttyName': '?'}, '2671': {'totalActiveTime': 1, 'memPct': 0.4, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1', 'state': 'Ss', 'ttyName': '?'}, '2699': {'totalActiveTime': 46, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'ntpd -u ntp:ntp -g -p /var/run/ntpd.pid', 'state': 'Ssl', 'ttyName': '?'}, '2739': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': 'fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc', 'state': 'Ss', 'ttyName': '?'}, '2978': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599667621.0, 'cmd': '[kworker/0:0]', 'state': 'S', 'ttyName': '?'}, '3281': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281693.0, 'cmd': 'netns --agenttitle=Nat --demuxerOpts=1027180400275,1027179642339,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Nat', 'state': 'S', 'ttyName': '?'}, '3289': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281693.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3290': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281693.0, 'cmd': 'netns --agenttitle=Vxlan --demuxerOpts=1027289964523,1027289360240,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Vxlan', 'state': 'S', 'ttyName': '?'}, '3295': {'totalActiveTime': 362, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281693.0, 'cmd': 'Nat', 'state': 'S', 'ttyName': '?'}, '3297': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281693.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3301': {'totalActiveTime': 186, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281693.0, 'cmd': 'Vxlan', 'state': 'S', 'ttyName': '?'}, '3304': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281693.0, 'cmd': 'netns --agenttitle=VxlanSwFwd --demuxerOpts=1027467071119,1027361358810,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/VxlanSwFwd', 'state': 'S', 'ttyName': '?'}, '3307': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281694.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3308': {'totalActiveTime': 204, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281694.0, 'cmd': 'VxlanSwFwd', 'state': 'S', 'ttyName': '?'}, '3365': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281695.0, 'cmd': '/usr/libexec/strongswan/starter --daemon charon', 'state': 'Ss', 'ttyName': '?'}, '3367': {'totalActiveTime': 51, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281695.0, 'cmd': '/usr/libexec/strongswan/charon --use-syslog', 'state': 'Ssl', 'ttyName': '?'}, '3403': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281695.0, 'cmd': 'netns --agenttitle=Fhrp --demuxerOpts=1035728404808,1035728156871,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Fhrp --scheduled', 'state': 'S', 'ttyName': '?'}, '3404': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281695.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3929': {'totalActiveTime': 1, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281918.0, 'cmd': '[kworker/u8:0]', 'state': 'S', 'ttyName': '?'}, '4048': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281919.0, 'cmd': '/usr/sbin/dnsmasq', 'state': 'S', 'ttyName': '?'}, '4431': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1598910305.0, 'cmd': '/bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh', 'state': 'S', 'ttyName': '?'}, '5793': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668281.0, 'cmd': '[kworker/0:3]', 'state': 'S', 'ttyName': '?'}, '8439': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668641.0, 'cmd': '[kworker/0:2]', 'state': 'S', 'ttyName': '?'}, '10887': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669001.0, 'cmd': '[kworker/0:1]', 'state': 'S', 'ttyName': '?'}, '13032': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669122.0, 'cmd': 'sshd: [accepted] ', 'state': 'Ss', 'ttyName': '?'}, '13088': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669155.0, 'cmd': 'sshd: unknown [net] ', 'state': 'S', 'ttyName': '?'}, '13431': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669171.0, 'cmd': 'ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww', 'state': 'Rs', 'ttyName': '?'}, '18981': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1598457438.0, 'cmd': 'netns --agenttitle=CapiApp --demuxerOpts=5050812972099146,5050812971830009,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini', 'state': 'S', 'ttyName': '?'}, '18982': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1598457438.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '18983': {'totalActiveTime': 71, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1598457438.0, 'cmd': 'CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Sl', 'ttyName': '?'}, '19027': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1598457439.0, 'cmd': 'nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;', 'state': 'Ss', 'ttyName': '?'}, '19029': {'totalActiveTime': 68, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1598457439.0, 'cmd': 'nginx: worker process ', 'state': 'S', 'ttyName': '?'}, '30730': {'totalActiveTime': 665, 'memPct': 0.4, 'cpuPct': 0.0, 'startTime': 1597697371.0, 'cmd': 'dockerd -H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock -s overlay', 'state': 'Sl', 'ttyName': '?'}, '30750': {'totalActiveTime': 548, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597697372.0, 'cmd': 'docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc', 'state': 'Ssl', 'ttyName': '?'}}, 'timeInfo': {'upTime': 2387717.36, 'loadAvg': [1.82, 1.55, 1.38], 'users': 0, 'currentTime': 1599669171.658871}}, 'text': " 16:32:52 up 27 days, 15:15, 0 users, load average: 1.82, 1.55, 1.38\n PID %CPU %MEM TT STAT STARTED TIME CMD\n 1928 102 3.7 ? Sl Aug 13 28-06:28:46 Sfe\n 1725 0.4 2.2 ? Sl Aug 13 03:03:30 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.14.101 -taillogs -grpcaddr=0.0.0.0:6042\n 1582 0.2 8.6 ? Sl Aug 13 01:20:50 ConfigAgent\n 4449 0.2 0.6 ? SNl Aug 31 00:28:33 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config\n13087 0.2 0.1 ? Ss 16:32:35 00:00:00 sshd: unknown [priv] \n 1233 0.1 0.9 ? S Aug 13 01:15:08 ProcMgr-worker\n 3405 0.1 1.4 ? S Aug 13 01:12:09 Fhrp\n 1 0.0 0.0 ? Ss Aug 13 00:03:49 /sbin/init\n 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd]\n 3 0.0 0.0 ? S Aug 13 00:00:22 [ksoftirqd/0]\n 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H]\n 7 0.0 0.0 ? S Aug 13 00:00:36 [rcu_preempt]\n 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched]\n 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh]\n 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0]\n 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain]\n 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0]\n 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0]\n 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1]\n 15 0.0 0.0 ? S Aug 13 00:00:02 [watchdog/1]\n 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1]\n 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1]\n 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0]\n 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H]\n 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2]\n 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2]\n 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2]\n 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2]\n 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0]\n 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H]\n 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3]\n 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3]\n 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3]\n 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3]\n 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0]\n 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H]\n 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs]\n 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns]\n 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd]\n 35 0.0 0.0 ? S Aug 13 00:01:07 [khungtaskd2]\n 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper]\n 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback]\n 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0]\n 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto]\n 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd]\n 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd]\n 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff]\n 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller]\n 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task]\n 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd]\n 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd]\n 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl]\n 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod]\n 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod]\n 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0]\n 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat]\n 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod]\n 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd]\n 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme]\n 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd]\n 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf]\n 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq]\n 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-]\n 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver]\n 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H]\n 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0]\n 343 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:2]\n 380 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd\n 407 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f\n 499 0.0 0.0 ? S< Aug 13 00:00:00 [ena]\n 747 0.0 0.1 ? Ss Aug 13 00:02:19 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation\n 759 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1]\n 778 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground\n 782 0.0 0.0 ? Ss Aug 13 00:00:48 /usr/bin/ProcMonitor\n 789 0.0 0.0 ? Ss Aug 13 00:01:05 /usr/lib/systemd/systemd-logind\n 807 0.0 0.0 ? Ss Aug 13 00:00:12 /usr/sbin/crond -n\n 819 0.0 0.0 ? S<s Aug 13 00:00:17 /usr/bin/wdogdev -t 60\n 824 0.0 0.0 ? Ss Aug 13 00:00:03 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid\n 1005 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local\n 1007 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1017 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys\n 1018 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1034 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil\n 1038 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure\n 1039 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1064 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon\n 1179 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1180 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1213 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm\n 1216 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1218 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1232 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master\n 1478 0.0 0.0 ? S Aug 13 00:09:04 /usr/bin/EosOomAdjust\n 1486 0.0 0.0 ? S Aug 13 00:00:15 [rbfd_vrf_cleanu]\n 1501 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid\n 1538 0.0 0.0 ? S Aug 13 00:01:58 /usr/bin/SlabMonitor\n 1539 0.0 2.6 ? S Aug 13 00:38:33 Sysdb\n 1581 0.0 1.2 ? S Aug 13 00:00:34 StageMgr\n 1584 0.0 1.4 ? S Aug 13 00:01:46 Fru\n 1585 0.0 1.8 ? S Aug 13 00:00:56 Launcher\n 1714 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=267046295036,267046027633,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp\n 1715 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1717 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=267080979441,267080797725,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon\n 1718 0.0 1.2 ? S Aug 13 00:07:18 Lldp\n 1719 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1720 0.0 1.2 ? S Aug 13 00:03:02 McastCommon\n 1722 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=267138688824,267130622391,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec\n 1724 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1726 0.0 1.1 ? S Aug 13 00:02:04 PortSec\n 1739 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H]\n 1744 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=270600496842,267232117674,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd\n 1745 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1746 0.0 1.4 ? S Aug 13 00:03:58 Bfd\n 1747 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=271099376041,271003644947,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag\n 1750 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1751 0.0 1.3 ? S Aug 13 00:14:10 Lag\n 1754 0.0 1.7 ? S Aug 13 00:27:08 SuperServer\n 1767 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=275033642113,271344907121,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira\n 1768 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1769 0.0 1.5 ? S Aug 13 00:03:27 Ira\n 1772 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=275203075095,275062053558,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy\n 1773 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1774 0.0 1.2 ? S Aug 13 00:02:48 LedPolicy\n 1775 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=275412252849,275377553919,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr\n 1776 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1777 0.0 1.3 ? S Aug 13 00:06:40 EventMgr\n 1778 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=275530943653,275498520824,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx\n 1779 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1780 0.0 1.2 ? S Aug 13 00:22:41 StpTxRx\n 1781 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=275673918628,275618185987,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld\n 1783 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1784 0.0 1.1 ? S Aug 13 00:00:30 StandbyCpld\n 1785 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=275814961243,275751809451,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor\n 1786 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1787 0.0 1.0 ? S Aug 13 00:32:46 AgentMonitor\n 1788 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=279268129963,279198956916,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel\n 1789 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1790 0.0 1.6 ? Sl Aug 13 00:06:26 Aaa\n 1791 0.0 1.2 ? S Aug 13 00:01:10 Tunnel\n 1793 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=279517763852,279517565226,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology\n 1794 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1795 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=279733513327,279733258943,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl\n 1796 0.0 1.2 ? S Aug 13 00:03:19 StpTopology\n 1797 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1798 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=279939374338,279887740448,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp\n 1799 0.0 1.4 ? S Aug 13 00:19:20 Acl\n 1800 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1802 0.0 1.1 ? S Aug 13 00:04:26 Stp\n 1803 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=280114122924,280113919792,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo\n 1804 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1805 0.0 1.1 ? S Aug 13 00:01:44 KernelNetworkInfo\n 1806 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=283609312459,283573711926,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6\n 1807 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1809 0.0 1.2 ? S Aug 13 00:03:17 McastCommon6\n 1811 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=283839973599,283788015153,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent\n 1813 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1815 0.0 1.2 ? S Aug 13 00:03:11 LacpTxAgent\n 1816 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=284123665160,284036522428,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp\n 1817 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1818 0.0 1.5 ? S Aug 13 00:04:22 Arp\n 1820 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=284390286503,284256513379,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib\n 1821 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1822 0.0 1.4 ? S Aug 13 00:03:24 KernelFib\n 1824 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=287877695955,287770964417,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos\n 1825 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1826 0.0 1.2 ? S Aug 13 00:02:37 Qos\n 1827 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=288015969009,288008313449,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat\n 1828 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1831 0.0 1.1 ? S Aug 13 00:01:40 Thermostat\n 1834 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=288430062677,288320872305,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib\n 1838 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1839 0.0 1.2 ? S Aug 13 00:00:53 L2Rib\n 1841 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=288639642769,288566958102,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled\n 1842 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1844 0.0 1.2 ? S Aug 13 00:01:54 TopoAgent\n 1845 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=292156458136,288755017730,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse\n 1847 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1848 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=292294904749,292294697982,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager\n 1849 0.0 1.1 ? S Aug 13 00:00:28 PowerFuse\n 1852 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1853 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=292452307410,292452110553,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra\n 1854 0.0 1.1 ? S Aug 13 00:00:28 PowerManager\n 1856 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1859 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=292715604954,292692638320,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent\n 1860 0.0 1.4 ? S Aug 13 00:05:30 Ebra\n 1861 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1864 0.0 1.1 ? S Aug 13 00:00:30 ReloadCauseAgent\n 1866 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=292863065168,292847136027,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile\n 1874 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1881 0.0 1.5 ? S Aug 13 00:03:32 IgmpSnooping\n 1883 0.0 1.1 ? S Aug 13 00:00:30 SharedSecretProfile\n 1894 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=296809139147,296808906976,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled\n 1898 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1901 0.0 1.3 ? S Aug 13 00:01:30 StaticRoute\n 1903 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=296917164765,296916917865,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled\n 1906 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1907 0.0 1.7 ? S Aug 13 00:08:01 IpRib\n 1909 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=297076889668,297076654146,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled\n 1910 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1911 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=297209669171,297209436301,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute\n 1912 0.0 1.9 ? S Aug 13 00:01:50 BgpCliHelper\n 1914 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1915 0.0 1.3 ? S Aug 13 00:03:25 ConnectedRoute\n 1916 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=297333111290,297332906647,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput\n 1918 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1919 0.0 1.3 ? S Aug 13 00:01:33 RouteInput\n 1920 0.0 2.3 ? Sl Aug 13 00:13:31 Bgp\n 1922 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=301070490425,300896034705,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe\n 1926 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2295 0.0 0.0 ? Ssl Aug 13 00:00:15 /usr/sbin/rsyslogd -n\n 2356 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=348668178089,348667946331,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager\n 2360 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2363 0.0 1.1 ? S Aug 13 00:00:31 LicenseManager\n 2615 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd\n 2616 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux\n 2617 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0\n 2631 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct>\n 2634 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2615 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'\n 2637 0.0 0.0 ? S Aug 13 00:00:16 /usr/bin/tail -n 0 --retry --follow=name --pid=2615 /var/log/eos-console\n 2638 0.0 0.0 ? S Aug 13 00:00:00 sed s/\\(.*\\)/\\1\\r/\n 2660 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=369515596564,369515372050,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec\n 2661 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2662 0.0 1.2 ? S Aug 13 00:07:27 Ipsec\n 2671 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1\n 2699 0.0 0.1 ? Ssl Aug 13 00:00:46 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid\n 2739 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc\n 2978 0.0 0.0 ? S 16:07:01 00:00:00 [kworker/0:0]\n 3281 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Nat --demuxerOpts=1027180400275,1027179642339,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Nat\n 3289 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3290 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Vxlan --demuxerOpts=1027289964523,1027289360240,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Vxlan\n 3295 0.0 1.2 ? S Aug 13 00:06:02 Nat\n 3297 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3301 0.0 1.3 ? S Aug 13 00:03:06 Vxlan\n 3304 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=VxlanSwFwd --demuxerOpts=1027467071119,1027361358810,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/VxlanSwFwd\n 3307 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3308 0.0 1.3 ? S Aug 13 00:03:24 VxlanSwFwd\n 3365 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon\n 3367 0.0 0.1 ? Ssl Aug 13 00:00:51 /usr/libexec/strongswan/charon --use-syslog\n 3403 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Fhrp --demuxerOpts=1035728404808,1035728156871,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/Fhrp --scheduled\n 3404 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3929 0.0 0.0 ? S Aug 13 00:00:01 [kworker/u8:0]\n 4048 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq\n 4431 0.0 0.0 ? S Aug 31 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh\n 5793 0.0 0.0 ? S 16:18:01 00:00:00 [kworker/0:3]\n 8439 0.0 0.0 ? S 16:24:01 00:00:00 [kworker/0:2]\n10887 0.0 0.0 ? S 16:30:01 00:00:00 [kworker/0:1]\n13032 0.0 0.0 ? Ss 16:32:02 00:00:00 sshd: [accepted] \n13088 0.0 0.0 ? S 16:32:35 00:00:00 sshd: unknown [net] \n13447 0.0 0.0 ? Rs 16:32:51 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww\n18981 0.0 0.0 ? S Aug 26 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=5050812972099146,5050812971830009,tbl://sysdb/+n,Sysdb (pid:1539) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini\n18982 0.0 0.3 ? Ss Aug 26 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n18983 0.0 1.3 ? Sl Aug 26 00:01:11 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n19027 0.0 0.0 ? Ss Aug 26 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;\n19029 0.0 0.1 ? S Aug 26 00:01:08 nginx: worker process \n30730 0.0 0.4 ? Sl Aug 17 00:11:05 dockerd -H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock -s overlay\n30750 0.0 0.1 ? Ssl Aug 17 00:09:08 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc\n"}, 'show running-config section username': {'json': {'output': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'text': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'show aaa counters': {'json': {'authenticationSuccess': 74264, 'authorizationAllowed': 2325, 'accountingSuccess': 0, 'pendingAccountingRequests': 0, 'authorizationDenied': 0, 'authenticationFail': 7, 'authenticationUnavailable': 355, 'accountingError': 0, 'authorizationUnavailable': 0}, 'text': 'Authentication\n Successful: 74269\n Failed: 7\n Service unavailable: 355\n\nAuthorization\n Allowed: 2325\n Denied: 0\n Service unavailable: 0\n\nAccounting\n Successful: 0\n Error: 0\n Pending: 0\n\nLast time counters were cleared: never\n'}, 'show users detail': {'json': {'serials': {}, 'nonInteractives': {'76079': {'username': 'kgrozis', 'state': 'established', 'sessionStartTime': 1599669160, 'role': '', 'service': 'commandApi', 'authMethod': 'local'}}, 'vtys': {}}, 'text': 'Session Username Roles TTY State Duration Auth Remote Host \n-------- --------- ------- ------------- ------- ---------- ------- ----------- \n76079 kgrozis command-api E 0:00:13 local \n'}, 'show aaa methods all': {'json': {'authorization': {'commandsAuthzMethods': {'privilege0-15': {'methods': ['none']}}, 'execAuthzMethods': {'exec': {'methods': ['none']}}}, 'authentication': {'loginAuthenMethods': {'default': {'methods': ['local']}}, 'dot1xAuthenMethods': {'default': {'methods': []}}, 'enableAuthenMethods': {'default': {'methods': ['local']}}}, 'accounting': {'systemAcctMethods': {'system': {'defaultMethods': [], 'consoleMethods': []}}, 'execAcctMethods': {'exec': {'defaultMethods': [], 'consoleMethods': []}}, 'commandsAcctMethods': {'privilege0-15': {'defaultMethods': [], 'consoleMethods': []}}, 'dot1xAcctMethods': {'dot1x': {'defaultMethods': [], 'consoleMethods': []}}}}, 'text': 'Authentication method lists for LOGIN:\n name=default methods=local\nAuthentication method list for ENABLE:\n name=default methods=local\nAuthentication method list for DOT1X:\n name=default methods=\nAuthorization method lists for COMMANDS:\n name=privilege0-15 methods=none\nAuthorization method list for EXEC:\n name=exec methods=none\nAccounting method lists for COMMANDS:\n name=privilege0-15 default-action=none\nAccounting method list for EXEC:\n name=exec default-action=none\nAccounting method list for SYSTEM:\n name=system default-action=none\nAccounting method list for DOT1X:\n name=dot1x default-action=none\n'}, 'show ntp status': {'json': {'status': 'synchronised', 'pollingInterval': 256, 'stratum': 4, 'maxEstimatedError': 17, 'server': '169.254.169.123'}, 'text': 'synchronised to NTP server (169.254.169.123) at stratum 4\n time correct to within 17 ms\n polling server every 256 s\n\n'}, 'show ntp associations': {'json': {'peers': {'169.254.169.123': {'delay': 0.107, 'jitter': 0.2, 'lastReceived': 1599669099.0, 'peerType': 'local', 'reachabilityHistory': [True, True, True, True, True, True, True, True], 'condition': 'sys.peer', 'offset': 1.627, 'peerIpAddr': '169.254.169.123', 'pollInterval': 256, 'refid': '169.254.169.122', 'stratumLevel': 3}}}, 'text': ' remote refid st t when poll reach delay offset jitter\n==============================================================================\n*169.254.169.123 169.254.169.12 3 l 78 256 377 0.107 1.627 0.2\n'}, 'show daemon': {'json': {'daemons': {'TerminAttr': {'running': True, 'option': {}, 'starttime': 1597281517.1914241, 'pid': 1725, 'enabled': True, 'uptime': 2387660.17, 'data': {}, 'isSdkAgent': False}}}, 'text': 'Process: TerminAttr (running with PID 1725)\nUptime: 27 days, 15:14:20 (Start time: Thu Aug 13 01:18:37 2020)\nNo configuration options stored.\n\nNo status data stored.\n\n'}, 'show zerotouch': {'json': {'mode': 'disabled', 'scriptTimeout': 900}, 'text': '\nZeroTouch Mode: Disabled\nScript Exec Timeout: 900\n'}, 'dir flash:zerotouch-config': {'json': {'messages': ['Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7291572224 bytes free)\n']}, 'text': 'Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7291572224 bytes free)\n'}, 'show system environment temperature': {'json': {'cardSlots': [], 'powerSupplySlots': [], 'shutdownOnOverheat': True, 'tempSensors': [], 'systemStatus': 'unknownTemperatureAlarmLevel'}, 'text': 'System temperature status is: Unknown\n'}, 'show system environment cooling': {'json': {'overrideFanSpeed': 0, 'coolingMode': 'automatic', 'powerSupplySlots': [], 'fanTraySlots': [], 'minFanSpeed': 0, 'shutdownOnInsufficientFans': True, 'systemStatus': 'unknownCoolingAlarmLevel', 'airflowDirection': 'unknownAirflowDirection'}, 'text': 'System cooling status is: Unknown\nAmbient temperature: Unknown\n Config Actual Speed Stable\nFan Status Speed Speed Uptime Stability Uptime\n--- ------ ------ ------ ------ --------- ------\n'}, 'show management api http-commands': {'json': {'httpServer': {'running': False, 'configured': False, 'port': 80}, 'users': {'kgrozis': {'requestCount': 67300, 'bytesOut': 194831265, 'lastHitTime': 1599669179.0062382, 'bytesIn': 10886628}}, 'bytesOut': 194831265, 'logLevel': 'none', 'dscpValue': 0, 'corsOrigins': [], 'hitCount': 71703, 'vrf': 'default', 'lastHitTime': 1599669179.0062096, 'tlsProtocol': ['1.0', '1.1', '1.2'], 'localHttpServer': {'running': False, 'configured': False, 'port': 8080}, 'executionTime': 6065.486179828993, 'enabled': True, 'fipsEnabled': False, 'httpsServer': {'running': True, 'configured': True, 'port': 443}, 'requestCount': 67300, 'vrfs': ['default'], 'urls': ['Ethernet1 : https://11.201.14.101:443', 'Ethernet2 : https://11.201.14.201:443', 'Ethernet100 : https://11.201.8.1:443', 'Loopback0 : https://11.201.0.1:443', 'Loopback10 : https://198.18.0.35:443'], 'unixSocketServer': {'running': False, 'configured': False}, 'bytesIn': 10886628, 'commandCount': 134600, 'iframeAncestors': []}, 'text': 'Enabled: Yes\nHTTPS server: running, set to use port 443\nHTTP server: shutdown, set to use port 80\nLocal HTTP server: shutdown, no authentication, set to use port 8080\nUnix Socket server: shutdown, no authentication\nVRFs: default\nHits: 71705\nLast hit: 0 seconds ago\nBytes in: 10886936\nBytes out: 194832453\nRequests: 67302\nCommands: 134604\nDuration: 6065.501 seconds\nSSL Profile: none\nFIPS Mode: No\nQoS DSCP: 0\nLog Level: none\nCSP Frame Ancestor: None\nTLS Protocols: 1.0 1.1 1.2\n User Requests Bytes in Bytes out Last hit \n------------- -------------- -------------- --------------- ------------- \n kgrozis 67302 10886936 194832453 0 seconds ago \n\nURLs \n--------------------------------------- \nEthernet1 : https://11.201.14.101:443 \nEthernet2 : https://11.201.14.201:443 \nEthernet100 : https://11.201.8.1:443 \nLoopback0 : https://11.201.0.1:443 \nLoopback10 : https://198.18.0.35:443 \n\n'}, 'show tacacs': {'json': {'tacacsServers': [], 'groups': {}, 'srcIntf': {}, 'lastCounterClearTime': 0.0}, 'text': '\nLast time counters were cleared: never\n'}, 'show logging': {'json': {'output': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:19 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:31 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:27 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:38 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:47 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:11 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:27 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:36 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:45 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:55 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:24:04 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:37 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:48 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:57 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:54 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:27:03 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:07 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:21 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:29 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:08 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:19 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:28 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}, 'text': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:19 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:31 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:27 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:38 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:47 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:11 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:27 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:36 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:45 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:55 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:24:04 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:37 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:48 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:57 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:54 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:27:03 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:07 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:21 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:29 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:08 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:19 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:28 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEOSEdge1 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}}} test_name: test_if_files_on_ test_parameters: {'parameters': {'show_log': 'show_output.log'}} INFO root:tests_tools.py:250 Return model data and text output from show commands and log text output for show file information flash:zerotouch-config with connnection Node(connection=EapiConnection(transport=https://3.132.90.164:443//command-api)) INFO root:tests_tools.py:254 Raw json output of show file information flash:zerotouch-config on dut kg-topology-CloudEOSEdge1: [{'command': 'show file information flash:zerotouch-config', 'result': {'isDir': False, 'path': 'flash:/zerotouch-config', 'fileName': '/mnt/flash/zerotouch-config'}, 'encoding': 'json'}] INFO root:tests_tools.py:257 Raw text output of show file information flash:zerotouch-config on dut kg-topology-CloudEOSEdge1: [{'output': 'flash:/zerotouch-config:\n type is file\n'}] INFO root:tests_tools.py:311 Open log file for logging test show commands INFO root:tests_tools.py:315 Opening file show_output.log and append show output: flash:/zerotouch-config: type is file INFO root:test_filesystem.py:80 WHEN flash:zerotouch-config file isDir state is |False| INFO root:test_filesystem.py:84 THEN test case result is |True| INFO root:test_filesystem.py:85 OUTPUT of |show file information flash:zerotouch-config| is : [{'output': 'flash:/zerotouch-config:\n type is file\n'}] | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/memory/test_memory.py::MemoryTests::test_memory_utilization_on_[kg-topology-CloudEOSEdge1] | Verify memory is not exceeding high utlization | 0.06 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |dut_name| memory utilization percent is |35.86600187037905%| and should be under 70% -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_memory.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_memory_utilization_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show version| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show version| on kg-topology-CloudEOSEdge1 INFO root:test_memory.py:71 TEST if memory utilization is less than specified value on |kg-topology-CloudEOSEdge1| INFO root:test_memory.py:73 GIVEN memory utilization is less than |70%| INFO root:test_memory.py:80 WHEN memory utilization is |35.86600187037905| INFO root:test_memory.py:83 THEN test case result is |True%| INFO root:test_memory.py:84 OUTPUT of |show version| is : Arista vEOS Hardware version: Serial number: DB3968957436BF7623C810C9F13FC97E System MAC address: 029e.d20a.bbfc Software image version: 4.23.1F-cloud-16179785.jakartarel (engineering build) Architecture: x86_64 Internal build version: 4.23.1F-cloud-16179785.jakartarel Internal build ID: 6bc96200-86c1-4e86-bed7-8280a6802809 Uptime: 3 weeks, 6 days, 15 hours and 15 minutes Total memory: 7818736 kB Free memory: 2804268 kB INFO root:tests_tools.py:469 Find Index for test suite: test_memory.py on dut kg-topology-CloudEOSEdge1 INFO root:tests_tools.py:473 Test suite test_memory.py exists in results file at index 1 INFO root:tests_tools.py:480 Find Index for test case: test_memory_utilization_on_ on dut kg-topology-CloudEOSEdge1 INFO root:tests_tools.py:484 Test case test_memory_utilization_on_ exists in results file at index 0 INFO root:tests_tools.py:491 Add DUT kg-topology-CloudEOSEdge1 to test case test_memory_utilization_on_ with parameters {'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True, 'actual_output': 35.86600187037905, 'test_result': True, 'dut': 'kg-topology-CloudEOSEdge1'} | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/aaa/test_aaa.py::AAATests::test_if_commands_authorization_methods_set_on_[kg-topology-CloudEOSEdge2] | Verify AAA command authorization are method-lists set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| AAA authorization methods for fcommands: |['none']| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_commands_authorization_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEOSEdge2 INFO root:test_aaa.py:184 TEST is command authorization methods list set correct on |kg-topology-CloudEOSEdge2| INFO root:test_aaa.py:186 GIVEN command authorization method list: |['none']| INFO root:test_aaa.py:190 WHEN EOS command authorization method list is set to |['none']| INFO root:test_aaa.py:194 THEN test case result is |True| INFO root:test_aaa.py:195 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/aaa/test_aaa.py::AAATests::test_if_login_authentication_methods_set_on_[kg-topology-CloudEOSEdge2] | Verify AAA login authentication are method-lists set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_login_authentication_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEOSEdge2 INFO root:test_aaa.py:313 TEST is login authentication methods list set correct on |kg-topology-CloudEOSEdge2| INFO root:test_aaa.py:315 GIVEN login authentication method list: |None| INFO root:test_aaa.py:332 WHEN EOS login authentication method list is set to |None| INFO root:test_aaa.py:334 THEN test case result is |True| INFO root:test_aaa.py:335 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/users/test_users.py::UsersTests::test_if_usernames_are_configured_on_[kg-topology-CloudEOSEdge1] | Verify username is set correctly | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| |ec2-user| username is |configured| On router |kg-topology-CloudEOSEdge1| |kgrozis| username is |configured| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_users.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_usernames_are_configured_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show running-config section username| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show running-config section username| on kg-topology-CloudEOSEdge1 INFO root:test_users.py:74 TEST is ec2-user username configured |kg-topology-CloudEOSEdge1| INFO root:test_users.py:76 GIVEN ec2-user username configured status: |True| INFO root:test_users.py:82 WHEN ec2-user username configured status is |True| INFO root:test_users.py:84 THEN test case result is |True| INFO root:test_users.py:85 OUTPUT of |show running-config section username| is : no username admin ! username ec2-user nopassword username ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2 username kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f. INFO root:test_users.py:74 TEST is kgrozis username configured |kg-topology-CloudEOSEdge1| INFO root:test_users.py:76 GIVEN kgrozis username configured status: |True| INFO root:test_users.py:82 WHEN kgrozis username configured status is |True| INFO root:test_users.py:84 THEN test case result is |True| INFO root:test_users.py:85 OUTPUT of |show running-config section username| is : no username admin ! username ec2-user nopassword username ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2 username kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f. | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/aaa/test_aaa.py::AAATests::test_if_system_accounting_methods_set_on_[kg-topology-CloudEOSEdge2] | Verify AAA system accounting method-lists are set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| AAA accounting methods for default: |[]| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_system_accounting_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:test_aaa.py:448 TEST is system accounting methods list set correct on |kg-topology-CloudEOSEdge2| INFO root:test_aaa.py:450 GIVEN default system accounting method list: |[]| and console system accounting methodlist: |[]| INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEOSEdge2 INFO root:test_aaa.py:466 WHEN default system accounting method list: |[]| and console system accounting method list: |[]| INFO root:test_aaa.py:471 THEN test case result is |True| INFO root:test_aaa.py:472 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/aaa/test_aaa.py::AAATests::test_if_exec_authorization_methods_set_on_[kg-topology-CloudEOSEdge2] | Verify AAA exec authorization are method-lists set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| AAA authorization methods for exec: |['none']| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_exec_authorization_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEOSEdge2 INFO root:test_aaa.py:227 TEST is exec authorization methods list set correct on |kg-topology-CloudEOSEdge2| INFO root:test_aaa.py:229 GIVEN exec authorization method list: |['none']| INFO root:test_aaa.py:233 WHEN EOS exec authorization method list is set to |['none']| INFO root:test_aaa.py:237 THEN test case result is |True| INFO root:test_aaa.py:238 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/aaa/test_aaa.py::AAATests::test_if_dot1x_authentication_methods_set_on_[kg-topology-CloudEOSEdge2] | Verify AAA dot1x authentication are method-lists set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| AAA authentication methods for dot1x default: |[]| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_dot1x_authentication_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEOSEdge2 INFO root:test_aaa.py:364 TEST is dot1x authentication methods list set correct on |kg-topology-CloudEOSEdge2| INFO root:test_aaa.py:366 GIVEN dot1x authentication method list: |[]| INFO root:test_aaa.py:370 WHEN EOS dot1x authentication method list is set to |[]| INFO root:test_aaa.py:374 THEN test case result is |True| INFO root:test_aaa.py:375 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/ztp/test_ztp.py::ZTPTests::test_if_zerotouch_is_disabled_on_[kg-topology-CloudEOSEdge1] | Verify ztp is disabled | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| ZTP process is in mode: |disabled| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_ztp.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_zerotouch_is_disabled_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show zerotouch| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |show zerotouch| on kg-topology-CloudEOSEdge1 INFO root:test_ztp.py:71 TEST is ZTP disabled on |kg-topology-CloudEOSEdge1| INFO root:test_ztp.py:72 GIVEN ZTP state is |disabled| INFO root:test_ztp.py:78 WHEN ZTP state is |disabled| INFO root:test_ztp.py:81 THEN test case result is |True| INFO root:test_ztp.py:82 OUTPUT of |show zerotouch| is : ZeroTouch Mode: Disabled Script Exec Timeout: 900 | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/aaa/test_aaa.py::AAATests::test_if_exec_accounting_methods_set_on_[kg-topology-CloudEOSEdge2] | Verify AAA exec accounting method-lists are set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| AAA accounting exec methods for console: |[]| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_exec_accounting_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:test_aaa.py:496 TEST is exec accounting methods list set correct on |kg-topology-CloudEOSEdge2| INFO root:test_aaa.py:498 GIVEN exec system accounting method list: |[]| and exec system accounting methodlist: |[]| INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEOSEdge2 INFO root:test_aaa.py:514 WHEN default exec accounting method list: |[]| and console exec accounting methodlist: |[]| INFO root:test_aaa.py:519 THEN test case result is |True| INFO root:test_aaa.py:520 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/aaa/test_aaa.py::AAATests::test_if_default_login_authentication_methods_set_on_[kg-topology-CloudEOSEdge2] | Verify AAA default login authentication are method-lists set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| AAA authentication methods for default login: |['local']| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_default_login_authentication_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEOSEdge2 INFO root:test_aaa.py:270 TEST is default login authentication methods list set correct on |kg-topology-CloudEOSEdge2| INFO root:test_aaa.py:272 GIVEN login authentication method list: |['local']| INFO root:test_aaa.py:276 WHEN EOS login authentication method list is set to |['local']| INFO root:test_aaa.py:280 THEN test case result is |True| INFO root:test_aaa.py:281 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/aaa/test_aaa.py::AAATests::test_if_enable_authentication_methods_set_on_[kg-topology-CloudEOSEdge2] | Verify AAA enable authentication method-lists are set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| AAA authentication methods for enable default: |['local']| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_enable_authentication_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True} INFO root:test_aaa.py:403 TEST is enable authentication methods list set correct on |kg-topology-CloudEOSEdge2| INFO root:test_aaa.py:405 GIVEN enable authentication method list: |['local']| INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEOSEdge2 INFO root:test_aaa.py:417 WHEN EOS enable authentication method list is set to |['local']| INFO root:test_aaa.py:421 THEN test case result is |True| INFO root:test_aaa.py:422 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEOSEdge1 | tests/ztp/test_ztp.py::ZTPTests::test_for_zerotouch_config_file_on_[kg-topology-CloudEOSEdge1] | Verify zerotoucn-config file is on flash | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge1| ZTP configuration file is on flash: |True| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_ztp.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_for_zerotouch_config_file_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |dir flash:zerotouch-config| was successfully executed on kg-topology-CloudEOSEdge1 dut INFO root:tests_tools.py:360 Verified output for show command |dir flash:zerotouch-config| on kg-topology-CloudEOSEdge1 INFO root:test_ztp.py:106 TEST is ZTP configuration file is on |kg-topology-CloudEOSEdge1| INFO root:test_ztp.py:107 GIVEN ZTP configuration file is |True| INFO root:test_ztp.py:113 WHEN ZTP configuration file is |True| INFO root:test_ztp.py:116 THEN test case result is |True| INFO root:test_ztp.py:117 OUTPUT of |dir flash:zerotouch-config| is : Directory of flash:/zerotouch-config -rw- 13 Mar 30 23:38 zerotouch-config 8319852544 bytes total (7291572224 bytes free) | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/aaa/test_aaa.py::AAATests::test_if_priviledge_accounting_methods_set_on_[kg-topology-CloudEOSEdge2] | Verify AAA priviledge accounting method-lists are set correct | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| AAA accounting exec methods for console: |[]| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_priviledge_accounting_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:test_aaa.py:546 TEST is priviledge accounting methods list set correct on |kg-topology-CloudEOSEdge2| INFO root:test_aaa.py:548 GIVEN priviledge system accounting method list: |[]| and priviledge system accounting method list: |[]| INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEOSEdge2 INFO root:test_aaa.py:564 WHEN default privilege accounting method list: |[]| and console privilege accounting method list: |[]| INFO root:test_aaa.py:569 THEN test case result is |True| INFO root:test_aaa.py:570 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/api/test_api.py::APITests::test_if_management_https_api_server_is_enabled_on_[kg-topology-CloudEOSEdge2] | Verify management api https server is enabled | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |{dut_name}| API is enabled state: |True| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_api.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_management_https_api_server_is_enabled_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True} INFO root:test_api.py:142 TEST is HTTPS API enabled on |kg-topology-CloudEOSEdge2| INFO root:test_api.py:143 GIVEN HTTPS API enabled is |True| INFO root:tests_tools.py:356 Verify if show command |show management api http-commands| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show management api http-commands| on kg-topology-CloudEOSEdge2 INFO root:test_api.py:152 WHEN HTTPS API enabled is |True| INFO root:test_api.py:155 THEN test case result is |True| INFO root:test_api.py:156 OUTPUT of |show management api http-commands| is : Enabled: Yes HTTPS server: running, set to use port 443 HTTP server: shutdown, set to use port 80 Local HTTP server: shutdown, no authentication, set to use port 8080 Unix Socket server: shutdown, no authentication VRFs: default Hits: 71677 Last hit: 0 seconds ago Bytes in: 10882525 Bytes out: 193064937 Requests: 67277 Commands: 134554 Duration: 7867.096 seconds SSL Profile: none FIPS Mode: No QoS DSCP: 0 Log Level: none CSP Frame Ancestor: None TLS Protocols: 1.0 1.1 1.2 User Requests Bytes in Bytes out Last hit ------------- -------------- -------------- --------------- ------------- kgrozis 67277 10882525 193064937 0 seconds ago URLs --------------------------------------- Ethernet1 : https://11.201.15.101:443 Ethernet2 : https://11.201.15.201:443 Ethernet100 : https://11.201.8.1:443 Loopback0 : https://11.201.0.3:443 Loopback10 : https://198.18.0.37:443 | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/aaa/test_aaa.py::AAATests::test_if_dot1x_accounting_methods_set_on_[kg-topology-CloudEOSEdge2] | Verify AAA dot1x accounting method-lists are set correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| AAA accounting exec methods for dot1x: |[]| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_aaa.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_dot1x_accounting_methods_set_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True} INFO root:test_aaa.py:594 TEST is dot1x accounting methods list set correct on |kg-topology-CloudEOSEdge2| INFO root:test_aaa.py:596 GIVEN dot1x system accounting method list: |[]| and dot1x system accounting methodlist: |[]| INFO root:tests_tools.py:356 Verify if show command |show aaa methods all| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show aaa methods all| on kg-topology-CloudEOSEdge2 INFO root:test_aaa.py:611 WHEN default dot1x accounting method list: |[]| and console dot1x accounting method list: |[]| INFO root:test_aaa.py:616 THEN test case result is |True| INFO root:test_aaa.py:617 OUTPUT of |show aaa methods all| is : Authentication method lists for LOGIN: name=default methods=local Authentication method list for ENABLE: name=default methods=local Authentication method list for DOT1X: name=default methods= Authorization method lists for COMMANDS: name=privilege0-15 methods=none Authorization method list for EXEC: name=exec methods=none Accounting method lists for COMMANDS: name=privilege0-15 default-action=none Accounting method list for EXEC: name=exec default-action=none Accounting method list for SYSTEM: name=system default-action=none Accounting method list for DOT1X: name=dot1x default-action=none | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/cpu/test_cpu.py::CPUTests::test_1_min_cpu_utlization_on_[kg-topology-CloudEOSEdge2] | Verify 1 minute CPU % is under specificied value | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| 1 minute CPU load average is |1.43%| and should be under |10%| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_cpu.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_1_min_cpu_utlization_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show processes| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show processes| on kg-topology-CloudEOSEdge2 INFO root:test_cpu.py:105 TEST if 1 minute CPU utilization is less than specified value on |kg-topology-CloudEOSEdge2| INFO root:test_cpu.py:107 GIVEN CPU utilization is less than |10| INFO root:test_cpu.py:111 WHEN CPU utilization is |1.43| INFO root:test_cpu.py:114 THEN test case result is |True| INFO root:test_cpu.py:115 OUTPUT of |show processes| is : 16:32:52 up 27 days, 15:15, 0 users, load average: 1.53, 1.43, 1.38 PID %CPU %MEM TT STAT STARTED TIME CMD 2025 101 3.7 ? Sl Aug 13 28-00:50:22 Sfe 1675 2.5 2.1 ? Sl Aug 13 17:03:11 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.15.101 -taillogs -grpcaddr=0.0.0.0:6042 22112 0.5 0.6 ? SNl Sep 01 01:11:39 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config 1476 0.3 2.6 ? S Aug 13 02:02:57 Sysdb 1518 0.3 7.5 ? Sl Aug 13 02:23:44 ConfigAgent 1243 0.2 0.9 ? S Aug 13 01:38:17 ProcMgr-worker 1951 0.2 1.7 ? S Aug 13 01:21:22 IpRib 1703 0.1 1.7 ? S Aug 13 00:50:48 SuperServer 1719 0.1 1.2 ? S Aug 13 00:42:20 StpTxRx 1727 0.1 1.0 ? S Aug 13 01:18:20 AgentMonitor 1980 0.1 2.3 ? Sl Aug 13 00:50:16 Bgp 3369 0.1 1.4 ? S Aug 13 01:16:48 Fhrp 1 0.0 0.0 ? Ss Aug 13 00:05:53 /sbin/init 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd] 3 0.0 0.0 ? S Aug 13 00:00:14 [ksoftirqd/0] 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H] 7 0.0 0.0 ? S Aug 13 00:00:24 [rcu_preempt] 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched] 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh] 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0] 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain] 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0] 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0] 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1] 15 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/1] 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1] 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1] 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0] 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H] 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2] 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2] 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2] 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2] 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0] 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H] 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3] 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3] 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3] 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3] 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0] 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H] 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs] 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns] 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd] 35 0.0 0.0 ? S Aug 13 00:00:13 [khungtaskd2] 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper] 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback] 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0] 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto] 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd] 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd] 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff] 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller] 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task] 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd] 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd] 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl] 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod] 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod] 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0] 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat] 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod] 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd] 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme] 73 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:1] 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd] 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf] 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq] 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-] 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver] 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H] 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0] 378 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd 410 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f 497 0.0 0.0 ? S< Aug 13 00:00:00 [ena] 746 0.0 0.0 ? Ss Aug 13 00:02:48 /usr/lib/systemd/systemd-logind 752 0.0 0.0 ? Ss Aug 13 00:00:49 /usr/bin/ProcMonitor 762 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground 770 0.0 0.1 ? Ss Aug 13 00:04:17 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 784 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1] 790 0.0 0.0 ? Ss Aug 13 00:00:04 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid 880 0.0 0.0 ? Ss Aug 13 00:00:16 /usr/sbin/crond -n 889 0.0 0.0 ? S<s Aug 13 00:00:20 /usr/bin/wdogdev -t 60 998 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local 1000 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1015 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil 1019 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys 1021 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1030 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure 1031 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1062 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon 1189 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1190 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1224 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm 1226 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1228 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1242 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master 1415 0.0 0.0 ? S Aug 13 00:09:14 /usr/bin/EosOomAdjust 1423 0.0 0.0 ? S Aug 13 00:00:02 [rbfd_vrf_cleanu] 1438 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid 1475 0.0 0.0 ? S Aug 13 00:02:10 /usr/bin/SlabMonitor 1517 0.0 1.2 ? S Aug 13 00:04:44 StageMgr 1521 0.0 1.4 ? S Aug 13 00:16:43 Fru 1524 0.0 1.8 ? S Aug 13 00:07:47 Launcher 1651 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=279603612376,279603122369,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp 1653 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1654 0.0 1.3 ? S Aug 13 00:22:47 Lldp 1657 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=279725388188,279650445982,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon 1659 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1661 0.0 1.2 ? S Aug 13 00:16:54 McastCommon 1665 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=279886274558,279754810922,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec 1666 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1668 0.0 1.1 ? S Aug 13 00:18:26 PortSec 1669 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H] 1696 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=283657265762,283482593841,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd 1698 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1699 0.0 1.4 ? S Aug 13 00:18:00 Bfd 1700 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=287819325384,287795062523,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag 1701 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1702 0.0 1.3 ? S Aug 13 00:33:18 Lag 1707 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=288347310924,288297455705,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira 1708 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1709 0.0 1.5 ? S Aug 13 00:17:05 Ira 1710 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=292586167457,292268884394,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy 1712 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1713 0.0 1.2 ? S Aug 13 00:20:11 LedPolicy 1714 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=292780957018,292649411528,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr 1715 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1716 0.0 1.3 ? S Aug 13 00:22:21 EventMgr 1717 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=293034015438,292843558270,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx 1718 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1721 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=296572620123,296400986578,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld 1723 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1724 0.0 1.1 ? S Aug 13 00:04:46 StandbyCpld 1725 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=296770445824,296638057211,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor 1726 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1729 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=296984960239,296854805708,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel 1730 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1731 0.0 1.2 ? S Aug 13 00:07:42 Tunnel 1732 0.0 1.6 ? Sl Aug 13 00:11:52 Aaa 1734 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=300919938207,300696082381,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology 1735 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1736 0.0 1.2 ? S Aug 13 00:17:00 StpTopology 1738 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=301331916824,300996693213,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl 1741 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1743 0.0 1.4 ? S Aug 13 00:36:57 Acl 1753 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=305107266403,301413423552,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp 1756 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1759 0.0 1.1 ? S Aug 13 00:27:25 Stp 1776 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=305360891096,305329042634,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo 1778 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1780 0.0 1.1 ? S Aug 13 00:05:35 KernelNetworkInfo 1785 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=305785444216,305760706994,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6 1788 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1789 0.0 1.2 ? S Aug 13 00:16:57 McastCommon6 1799 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=309366624983,309362176094,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent 1803 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1805 0.0 1.2 ? S Aug 13 00:17:07 LacpTxAgent 1816 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=310181868541,309815745751,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp 1820 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1823 0.0 1.5 ? S Aug 13 00:25:11 Arp 1838 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=314049547173,313613369111,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib 1843 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1846 0.0 1.4 ? S Aug 13 00:17:03 KernelFib 1848 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=314264185905,314224873925,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos 1851 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=318320799164,318320334301,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat 1852 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1854 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1855 0.0 1.2 ? S Aug 13 00:19:12 Qos 1856 0.0 1.1 ? S Aug 13 00:05:35 Thermostat 1857 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=318504392051,318402053905,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib 1860 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1861 0.0 1.2 ? S Aug 13 00:05:37 L2Rib 1862 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=318751447473,318604181270,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled 1863 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1864 0.0 1.2 ? S Aug 13 00:16:57 TopoAgent 1866 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=322455034859,322155642338,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse 1867 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1868 0.0 1.1 ? S Aug 13 00:04:45 PowerFuse 1869 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=322587808158,322578809808,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager 1870 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1871 0.0 1.1 ? S Aug 13 00:04:45 PowerManager 1873 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=323042777435,322918823692,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra 1874 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1877 0.0 1.4 ? S Aug 13 00:21:47 Ebra 1891 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=326873611161,326505655736,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent 1892 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1893 0.0 1.1 ? S Aug 13 00:04:46 ReloadCauseAgent 1894 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=327049023399,326947638167,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile 1899 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1901 0.0 1.1 ? S Aug 13 00:04:45 SharedSecretProfile 1905 0.0 1.5 ? S Aug 13 00:17:11 IgmpSnooping 1934 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=331109407249,331039454504,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled 1937 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1944 0.0 1.3 ? S Aug 13 00:05:36 StaticRoute 1949 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=331478251055,331216741841,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled 1950 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1953 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=331572043702,331571419321,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled 1954 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1956 0.0 1.9 ? S Aug 13 00:05:44 BgpCliHelper 1957 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=335410314406,335272307760,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute 1958 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1959 0.0 1.3 ? S Aug 13 00:17:08 ConnectedRoute 1962 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=335932354218,335526352897,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput 1963 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1968 0.0 1.3 ? S Aug 13 00:05:37 RouteInput 2011 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=343638383733,339942676958,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe 2014 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2319 0.0 0.0 ? Ssl Aug 13 00:00:25 /usr/sbin/rsyslogd -n 2592 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=387516644822,387516174371,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager 2596 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2597 0.0 1.1 ? S Aug 13 00:04:47 LicenseManager 2614 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd 2615 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux 2616 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0 2633 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2614 /var/log/eos-console | sed 's/\(.*\)/\1\r/' 2638 0.0 0.0 ? S Aug 13 00:00:53 /usr/bin/tail -n 0 --retry --follow=name --pid=2614 /var/log/eos-console 2639 0.0 0.0 ? S Aug 13 00:00:00 sed s/\(.*\)/\1\r/ 2666 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct> 2695 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=408586225606,408585707942,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec 2696 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2697 0.0 1.2 ? S Aug 13 00:35:24 Ipsec 2699 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1 2726 0.0 0.1 ? Ssl Aug 13 00:02:11 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid 2730 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc 3232 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Nat --demuxerOpts=1099846842576,1099845884354,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Nat 3237 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3242 0.0 1.2 ? S Aug 13 00:35:11 Nat 3254 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Vxlan --demuxerOpts=1100211266267,1100011505404,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Vxlan 3257 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3263 0.0 1.4 ? S Aug 13 00:17:55 Vxlan 3275 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=VxlanSwFwd --demuxerOpts=1104023511318,1100341538690,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/VxlanSwFwd 3277 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3278 0.0 1.4 ? S Aug 13 00:18:49 VxlanSwFwd 3315 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon 3317 0.0 0.1 ? Ssl Aug 13 00:02:49 /usr/libexec/strongswan/charon --use-syslog 3367 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Fhrp --demuxerOpts=1113312651255,1113311572347,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Fhrp --scheduled 3368 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3856 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:0] 3977 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq 14256 0.0 0.0 ? S 16:11:00 00:00:00 [kworker/0:0] 16699 0.0 0.0 ? S 16:17:01 00:00:00 [kworker/0:2] 18091 0.0 0.0 ? S 16:23:01 00:00:00 [kworker/0:1] 21755 0.0 0.0 ? S 16:29:00 00:00:00 [kworker/0:3] 22090 0.0 0.0 ? S Sep 01 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh 24395 0.0 0.0 ? Rs 16:32:51 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww 24396 0.0 0.0 ? Rs 16:32:51 00:00:00 uptime 26289 0.0 0.0 ? S Aug 26 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=5050641215580694,5050641215085095,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini 26290 0.0 0.3 ? Ss Aug 26 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 26291 0.0 1.3 ? Sl Aug 26 00:03:57 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 26335 0.0 0.0 ? Ss Aug 26 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid; 26337 0.0 0.1 ? S Aug 26 00:01:37 nginx: worker process | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/api/test_api.py::APITests::test_if_management_local_http_api_server_is_running_on_[kg-topology-CloudEOSEdge2] | Verify management api local httpserver is not running | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| Local HTTP Server is running state: |False| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_api.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_management_local_http_api_server_is_running_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True} INFO root:test_api.py:215 TEST is local HTTP API running on |kg-topology-CloudEOSEdge2| INFO root:test_api.py:216 GIVEN local HTTP API state is |False| INFO root:tests_tools.py:356 Verify if show command |show management api http-commands| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show management api http-commands| on kg-topology-CloudEOSEdge2 INFO root:test_api.py:226 WHEN HTTP API state is |False| INFO root:test_api.py:229 THEN test case result is |True| INFO root:test_api.py:230 OUTPUT of |show management api http-commands| is : Enabled: Yes HTTPS server: running, set to use port 443 HTTP server: shutdown, set to use port 80 Local HTTP server: shutdown, no authentication, set to use port 8080 Unix Socket server: shutdown, no authentication VRFs: default Hits: 71683 Last hit: 0 seconds ago Bytes in: 10883493 Bytes out: 193068861 Requests: 67283 Commands: 134566 Duration: 7867.208 seconds SSL Profile: none FIPS Mode: No QoS DSCP: 0 Log Level: none CSP Frame Ancestor: None TLS Protocols: 1.0 1.1 1.2 User Requests Bytes in Bytes out Last hit ------------- -------------- -------------- --------------- ------------- kgrozis 67283 10883493 193068861 0 seconds ago URLs --------------------------------------- Ethernet1 : https://11.201.15.101:443 Ethernet2 : https://11.201.15.201:443 Ethernet100 : https://11.201.8.1:443 Loopback0 : https://11.201.0.3:443 Loopback10 : https://198.18.0.37:443 | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/api/test_api.py::APITests::test_if_management_https_api_server_is_running_on_[kg-topology-CloudEOSEdge2] | Verify management api https server is running | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| HTTPS Server is running state: |True| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_api.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_management_https_api_server_is_running_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True} INFO root:test_api.py:69 TEST is HTTPS API running on |kg-topology-CloudEOSEdge2| INFO root:test_api.py:70 GIVEN HTTPS API state is |True| INFO root:tests_tools.py:356 Verify if show command |show management api http-commands| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show management api http-commands| on kg-topology-CloudEOSEdge2 INFO root:test_api.py:80 WHEN HTTPS API state is |True| INFO root:test_api.py:83 THEN test case result is |True| INFO root:test_api.py:84 OUTPUT of |show management api http-commands| is : Enabled: Yes HTTPS server: running, set to use port 443 HTTP server: shutdown, set to use port 80 Local HTTP server: shutdown, no authentication, set to use port 8080 Unix Socket server: shutdown, no authentication VRFs: default Hits: 71685 Last hit: 0 seconds ago Bytes in: 10883801 Bytes out: 193070251 Requests: 67285 Commands: 134570 Duration: 7867.286 seconds SSL Profile: none FIPS Mode: No QoS DSCP: 0 Log Level: none CSP Frame Ancestor: None TLS Protocols: 1.0 1.1 1.2 User Requests Bytes in Bytes out Last hit ------------- -------------- -------------- --------------- ------------- kgrozis 67285 10883801 193070251 0 seconds ago URLs --------------------------------------- Ethernet1 : https://11.201.15.101:443 Ethernet2 : https://11.201.15.201:443 Ethernet100 : https://11.201.8.1:443 Loopback0 : https://11.201.0.3:443 Loopback10 : https://198.18.0.37:443 | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/api/test_api.py::APITests::test_if_management_http_api_server_is_running_on_[kg-topology-CloudEOSEdge2] | Verify management api http server is not running | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |{dut_name}| HTTP Server is running state: |False| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_api.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_management_http_api_server_is_running_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True} INFO root:test_api.py:178 TEST is HTTP API running on |kg-topology-CloudEOSEdge2| INFO root:test_api.py:179 GIVEN HTTP API state is |False| INFO root:tests_tools.py:356 Verify if show command |show management api http-commands| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show management api http-commands| on kg-topology-CloudEOSEdge2 INFO root:test_api.py:189 WHEN HTTP API state is |False| INFO root:test_api.py:192 THEN test case result is |True| INFO root:test_api.py:193 OUTPUT of |show management api http-commands| is : Enabled: Yes HTTPS server: running, set to use port 443 HTTP server: shutdown, set to use port 80 Local HTTP server: shutdown, no authentication, set to use port 8080 Unix Socket server: shutdown, no authentication VRFs: default Hits: 71677 Last hit: 0 seconds ago Bytes in: 10882525 Bytes out: 193064937 Requests: 67277 Commands: 134554 Duration: 7867.096 seconds SSL Profile: none FIPS Mode: No QoS DSCP: 0 Log Level: none CSP Frame Ancestor: None TLS Protocols: 1.0 1.1 1.2 User Requests Bytes in Bytes out Last hit ------------- -------------- -------------- --------------- ------------- kgrozis 67277 10882525 193064937 0 seconds ago URLs --------------------------------------- Ethernet1 : https://11.201.15.101:443 Ethernet2 : https://11.201.15.201:443 Ethernet100 : https://11.201.8.1:443 Loopback0 : https://11.201.0.3:443 Loopback10 : https://198.18.0.37:443 | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/cpu/test_cpu.py::CPUTests::test_5_min_cpu_utlization_on_[kg-topology-CloudEOSEdge2] | Verify 5 minute CPU % is under specificied value | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| 5 minute CPU load average is |1.38%| and should be under |10%| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_cpu.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_5_min_cpu_utlization_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show processes| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show processes| on kg-topology-CloudEOSEdge2 INFO root:test_cpu.py:140 TEST if 5 minute CPU utilization is less than specified value on |kg-topology-CloudEOSEdge2| INFO root:test_cpu.py:142 GIVEN CPU utilization is less than |10| INFO root:test_cpu.py:146 WHEN CPU utilization is |1.38| INFO root:test_cpu.py:149 THEN test case result is |True| INFO root:test_cpu.py:150 OUTPUT of |show processes| is : 16:32:52 up 27 days, 15:15, 0 users, load average: 1.53, 1.43, 1.38 PID %CPU %MEM TT STAT STARTED TIME CMD 2025 101 3.7 ? Sl Aug 13 28-00:50:22 Sfe 1675 2.5 2.1 ? Sl Aug 13 17:03:11 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.15.101 -taillogs -grpcaddr=0.0.0.0:6042 22112 0.5 0.6 ? SNl Sep 01 01:11:39 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config 1476 0.3 2.6 ? S Aug 13 02:02:57 Sysdb 1518 0.3 7.5 ? Sl Aug 13 02:23:44 ConfigAgent 1243 0.2 0.9 ? S Aug 13 01:38:17 ProcMgr-worker 1951 0.2 1.7 ? S Aug 13 01:21:22 IpRib 1703 0.1 1.7 ? S Aug 13 00:50:48 SuperServer 1719 0.1 1.2 ? S Aug 13 00:42:20 StpTxRx 1727 0.1 1.0 ? S Aug 13 01:18:20 AgentMonitor 1980 0.1 2.3 ? Sl Aug 13 00:50:16 Bgp 3369 0.1 1.4 ? S Aug 13 01:16:48 Fhrp 1 0.0 0.0 ? Ss Aug 13 00:05:53 /sbin/init 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd] 3 0.0 0.0 ? S Aug 13 00:00:14 [ksoftirqd/0] 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H] 7 0.0 0.0 ? S Aug 13 00:00:24 [rcu_preempt] 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched] 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh] 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0] 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain] 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0] 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0] 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1] 15 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/1] 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1] 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1] 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0] 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H] 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2] 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2] 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2] 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2] 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0] 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H] 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3] 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3] 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3] 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3] 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0] 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H] 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs] 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns] 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd] 35 0.0 0.0 ? S Aug 13 00:00:13 [khungtaskd2] 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper] 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback] 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0] 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto] 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd] 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd] 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff] 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller] 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task] 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd] 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd] 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl] 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod] 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod] 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0] 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat] 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod] 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd] 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme] 73 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:1] 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd] 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf] 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq] 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-] 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver] 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H] 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0] 378 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd 410 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f 497 0.0 0.0 ? S< Aug 13 00:00:00 [ena] 746 0.0 0.0 ? Ss Aug 13 00:02:48 /usr/lib/systemd/systemd-logind 752 0.0 0.0 ? Ss Aug 13 00:00:49 /usr/bin/ProcMonitor 762 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground 770 0.0 0.1 ? Ss Aug 13 00:04:17 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 784 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1] 790 0.0 0.0 ? Ss Aug 13 00:00:04 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid 880 0.0 0.0 ? Ss Aug 13 00:00:16 /usr/sbin/crond -n 889 0.0 0.0 ? S<s Aug 13 00:00:20 /usr/bin/wdogdev -t 60 998 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local 1000 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1015 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil 1019 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys 1021 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1030 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure 1031 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1062 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon 1189 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1190 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1224 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm 1226 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1228 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1242 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master 1415 0.0 0.0 ? S Aug 13 00:09:14 /usr/bin/EosOomAdjust 1423 0.0 0.0 ? S Aug 13 00:00:02 [rbfd_vrf_cleanu] 1438 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid 1475 0.0 0.0 ? S Aug 13 00:02:10 /usr/bin/SlabMonitor 1517 0.0 1.2 ? S Aug 13 00:04:44 StageMgr 1521 0.0 1.4 ? S Aug 13 00:16:43 Fru 1524 0.0 1.8 ? S Aug 13 00:07:47 Launcher 1651 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=279603612376,279603122369,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp 1653 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1654 0.0 1.3 ? S Aug 13 00:22:47 Lldp 1657 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=279725388188,279650445982,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon 1659 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1661 0.0 1.2 ? S Aug 13 00:16:54 McastCommon 1665 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=279886274558,279754810922,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec 1666 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1668 0.0 1.1 ? S Aug 13 00:18:26 PortSec 1669 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H] 1696 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=283657265762,283482593841,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd 1698 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1699 0.0 1.4 ? S Aug 13 00:18:00 Bfd 1700 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=287819325384,287795062523,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag 1701 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1702 0.0 1.3 ? S Aug 13 00:33:18 Lag 1707 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=288347310924,288297455705,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira 1708 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1709 0.0 1.5 ? S Aug 13 00:17:05 Ira 1710 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=292586167457,292268884394,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy 1712 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1713 0.0 1.2 ? S Aug 13 00:20:11 LedPolicy 1714 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=292780957018,292649411528,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr 1715 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1716 0.0 1.3 ? S Aug 13 00:22:21 EventMgr 1717 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=293034015438,292843558270,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx 1718 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1721 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=296572620123,296400986578,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld 1723 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1724 0.0 1.1 ? S Aug 13 00:04:46 StandbyCpld 1725 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=296770445824,296638057211,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor 1726 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1729 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=296984960239,296854805708,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel 1730 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1731 0.0 1.2 ? S Aug 13 00:07:42 Tunnel 1732 0.0 1.6 ? Sl Aug 13 00:11:52 Aaa 1734 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=300919938207,300696082381,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology 1735 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1736 0.0 1.2 ? S Aug 13 00:17:00 StpTopology 1738 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=301331916824,300996693213,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl 1741 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1743 0.0 1.4 ? S Aug 13 00:36:57 Acl 1753 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=305107266403,301413423552,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp 1756 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1759 0.0 1.1 ? S Aug 13 00:27:25 Stp 1776 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=305360891096,305329042634,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo 1778 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1780 0.0 1.1 ? S Aug 13 00:05:35 KernelNetworkInfo 1785 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=305785444216,305760706994,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6 1788 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1789 0.0 1.2 ? S Aug 13 00:16:57 McastCommon6 1799 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=309366624983,309362176094,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent 1803 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1805 0.0 1.2 ? S Aug 13 00:17:07 LacpTxAgent 1816 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=310181868541,309815745751,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp 1820 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1823 0.0 1.5 ? S Aug 13 00:25:11 Arp 1838 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=314049547173,313613369111,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib 1843 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1846 0.0 1.4 ? S Aug 13 00:17:03 KernelFib 1848 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=314264185905,314224873925,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos 1851 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=318320799164,318320334301,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat 1852 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1854 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1855 0.0 1.2 ? S Aug 13 00:19:12 Qos 1856 0.0 1.1 ? S Aug 13 00:05:35 Thermostat 1857 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=318504392051,318402053905,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib 1860 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1861 0.0 1.2 ? S Aug 13 00:05:37 L2Rib 1862 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=318751447473,318604181270,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled 1863 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1864 0.0 1.2 ? S Aug 13 00:16:57 TopoAgent 1866 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=322455034859,322155642338,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse 1867 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1868 0.0 1.1 ? S Aug 13 00:04:45 PowerFuse 1869 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=322587808158,322578809808,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager 1870 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1871 0.0 1.1 ? S Aug 13 00:04:45 PowerManager 1873 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=323042777435,322918823692,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra 1874 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1877 0.0 1.4 ? S Aug 13 00:21:47 Ebra 1891 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=326873611161,326505655736,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent 1892 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1893 0.0 1.1 ? S Aug 13 00:04:46 ReloadCauseAgent 1894 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=327049023399,326947638167,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile 1899 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1901 0.0 1.1 ? S Aug 13 00:04:45 SharedSecretProfile 1905 0.0 1.5 ? S Aug 13 00:17:11 IgmpSnooping 1934 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=331109407249,331039454504,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled 1937 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1944 0.0 1.3 ? S Aug 13 00:05:36 StaticRoute 1949 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=331478251055,331216741841,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled 1950 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1953 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=331572043702,331571419321,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled 1954 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1956 0.0 1.9 ? S Aug 13 00:05:44 BgpCliHelper 1957 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=335410314406,335272307760,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute 1958 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1959 0.0 1.3 ? S Aug 13 00:17:08 ConnectedRoute 1962 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=335932354218,335526352897,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput 1963 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1968 0.0 1.3 ? S Aug 13 00:05:37 RouteInput 2011 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=343638383733,339942676958,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe 2014 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2319 0.0 0.0 ? Ssl Aug 13 00:00:25 /usr/sbin/rsyslogd -n 2592 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=387516644822,387516174371,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager 2596 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2597 0.0 1.1 ? S Aug 13 00:04:47 LicenseManager 2614 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd 2615 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux 2616 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0 2633 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2614 /var/log/eos-console | sed 's/\(.*\)/\1\r/' 2638 0.0 0.0 ? S Aug 13 00:00:53 /usr/bin/tail -n 0 --retry --follow=name --pid=2614 /var/log/eos-console 2639 0.0 0.0 ? S Aug 13 00:00:00 sed s/\(.*\)/\1\r/ 2666 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct> 2695 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=408586225606,408585707942,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec 2696 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2697 0.0 1.2 ? S Aug 13 00:35:24 Ipsec 2699 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1 2726 0.0 0.1 ? Ssl Aug 13 00:02:11 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid 2730 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc 3232 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Nat --demuxerOpts=1099846842576,1099845884354,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Nat 3237 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3242 0.0 1.2 ? S Aug 13 00:35:11 Nat 3254 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Vxlan --demuxerOpts=1100211266267,1100011505404,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Vxlan 3257 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3263 0.0 1.4 ? S Aug 13 00:17:55 Vxlan 3275 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=VxlanSwFwd --demuxerOpts=1104023511318,1100341538690,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/VxlanSwFwd 3277 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3278 0.0 1.4 ? S Aug 13 00:18:49 VxlanSwFwd 3315 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon 3317 0.0 0.1 ? Ssl Aug 13 00:02:49 /usr/libexec/strongswan/charon --use-syslog 3367 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Fhrp --demuxerOpts=1113312651255,1113311572347,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Fhrp --scheduled 3368 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3856 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:0] 3977 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq 14256 0.0 0.0 ? S 16:11:00 00:00:00 [kworker/0:0] 16699 0.0 0.0 ? S 16:17:01 00:00:00 [kworker/0:2] 18091 0.0 0.0 ? S 16:23:01 00:00:00 [kworker/0:1] 21755 0.0 0.0 ? S 16:29:00 00:00:00 [kworker/0:3] 22090 0.0 0.0 ? S Sep 01 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh 24395 0.0 0.0 ? Rs 16:32:51 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww 24396 0.0 0.0 ? Rs 16:32:51 00:00:00 uptime 26289 0.0 0.0 ? S Aug 26 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=5050641215580694,5050641215085095,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini 26290 0.0 0.3 ? Ss Aug 26 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 26291 0.0 1.3 ? Sl Aug 26 00:03:57 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 26335 0.0 0.0 ? Ss Aug 26 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid; 26337 0.0 0.1 ? S Aug 26 00:01:37 nginx: worker process | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/cpu/test_cpu.py::CPUTests::test_1_sec_cpu_utlization_on_[kg-topology-CloudEOSEdge2] | Verify 1 second CPU % is under specificied value | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| 1 second CPU load average is |1.53%| and should be under |10%| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_cpu.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_1_sec_cpu_utlization_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show processes| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show processes| on kg-topology-CloudEOSEdge2 INFO root:test_cpu.py:70 TEST if 1 second CPU utilization is less than specified value on |kg-topology-CloudEOSEdge2| INFO root:test_cpu.py:72 GIVEN CPU utilization is less than |10| INFO root:test_cpu.py:76 WHEN CPU utilization is |1.53| INFO root:test_cpu.py:79 THEN test case result is |True| INFO root:test_cpu.py:80 OUTPUT of |show processes| is : 16:32:52 up 27 days, 15:15, 0 users, load average: 1.53, 1.43, 1.38 PID %CPU %MEM TT STAT STARTED TIME CMD 2025 101 3.7 ? Sl Aug 13 28-00:50:22 Sfe 1675 2.5 2.1 ? Sl Aug 13 17:03:11 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.15.101 -taillogs -grpcaddr=0.0.0.0:6042 22112 0.5 0.6 ? SNl Sep 01 01:11:39 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config 1476 0.3 2.6 ? S Aug 13 02:02:57 Sysdb 1518 0.3 7.5 ? Sl Aug 13 02:23:44 ConfigAgent 1243 0.2 0.9 ? S Aug 13 01:38:17 ProcMgr-worker 1951 0.2 1.7 ? S Aug 13 01:21:22 IpRib 1703 0.1 1.7 ? S Aug 13 00:50:48 SuperServer 1719 0.1 1.2 ? S Aug 13 00:42:20 StpTxRx 1727 0.1 1.0 ? S Aug 13 01:18:20 AgentMonitor 1980 0.1 2.3 ? Sl Aug 13 00:50:16 Bgp 3369 0.1 1.4 ? S Aug 13 01:16:48 Fhrp 1 0.0 0.0 ? Ss Aug 13 00:05:53 /sbin/init 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd] 3 0.0 0.0 ? S Aug 13 00:00:14 [ksoftirqd/0] 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H] 7 0.0 0.0 ? S Aug 13 00:00:24 [rcu_preempt] 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched] 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh] 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0] 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain] 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0] 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0] 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1] 15 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/1] 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1] 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1] 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0] 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H] 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2] 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2] 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2] 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2] 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0] 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H] 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3] 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3] 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3] 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3] 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0] 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H] 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs] 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns] 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd] 35 0.0 0.0 ? S Aug 13 00:00:13 [khungtaskd2] 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper] 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback] 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0] 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto] 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd] 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd] 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff] 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller] 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task] 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd] 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd] 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl] 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod] 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod] 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0] 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat] 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod] 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd] 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme] 73 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:1] 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd] 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf] 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq] 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-] 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver] 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H] 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0] 378 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd 410 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f 497 0.0 0.0 ? S< Aug 13 00:00:00 [ena] 746 0.0 0.0 ? Ss Aug 13 00:02:48 /usr/lib/systemd/systemd-logind 752 0.0 0.0 ? Ss Aug 13 00:00:49 /usr/bin/ProcMonitor 762 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground 770 0.0 0.1 ? Ss Aug 13 00:04:17 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 784 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1] 790 0.0 0.0 ? Ss Aug 13 00:00:04 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid 880 0.0 0.0 ? Ss Aug 13 00:00:16 /usr/sbin/crond -n 889 0.0 0.0 ? S<s Aug 13 00:00:20 /usr/bin/wdogdev -t 60 998 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local 1000 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1015 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil 1019 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys 1021 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1030 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure 1031 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1062 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon 1189 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1190 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1224 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm 1226 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1228 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1242 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master 1415 0.0 0.0 ? S Aug 13 00:09:14 /usr/bin/EosOomAdjust 1423 0.0 0.0 ? S Aug 13 00:00:02 [rbfd_vrf_cleanu] 1438 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid 1475 0.0 0.0 ? S Aug 13 00:02:10 /usr/bin/SlabMonitor 1517 0.0 1.2 ? S Aug 13 00:04:44 StageMgr 1521 0.0 1.4 ? S Aug 13 00:16:43 Fru 1524 0.0 1.8 ? S Aug 13 00:07:47 Launcher 1651 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=279603612376,279603122369,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp 1653 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1654 0.0 1.3 ? S Aug 13 00:22:47 Lldp 1657 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=279725388188,279650445982,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon 1659 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1661 0.0 1.2 ? S Aug 13 00:16:54 McastCommon 1665 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=279886274558,279754810922,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec 1666 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1668 0.0 1.1 ? S Aug 13 00:18:26 PortSec 1669 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H] 1696 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=283657265762,283482593841,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd 1698 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1699 0.0 1.4 ? S Aug 13 00:18:00 Bfd 1700 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=287819325384,287795062523,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag 1701 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1702 0.0 1.3 ? S Aug 13 00:33:18 Lag 1707 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=288347310924,288297455705,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira 1708 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1709 0.0 1.5 ? S Aug 13 00:17:05 Ira 1710 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=292586167457,292268884394,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy 1712 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1713 0.0 1.2 ? S Aug 13 00:20:11 LedPolicy 1714 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=292780957018,292649411528,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr 1715 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1716 0.0 1.3 ? S Aug 13 00:22:21 EventMgr 1717 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=293034015438,292843558270,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx 1718 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1721 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=296572620123,296400986578,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld 1723 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1724 0.0 1.1 ? S Aug 13 00:04:46 StandbyCpld 1725 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=296770445824,296638057211,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor 1726 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1729 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=296984960239,296854805708,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel 1730 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1731 0.0 1.2 ? S Aug 13 00:07:42 Tunnel 1732 0.0 1.6 ? Sl Aug 13 00:11:52 Aaa 1734 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=300919938207,300696082381,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology 1735 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1736 0.0 1.2 ? S Aug 13 00:17:00 StpTopology 1738 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=301331916824,300996693213,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl 1741 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1743 0.0 1.4 ? S Aug 13 00:36:57 Acl 1753 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=305107266403,301413423552,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp 1756 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1759 0.0 1.1 ? S Aug 13 00:27:25 Stp 1776 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=305360891096,305329042634,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo 1778 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1780 0.0 1.1 ? S Aug 13 00:05:35 KernelNetworkInfo 1785 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=305785444216,305760706994,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6 1788 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1789 0.0 1.2 ? S Aug 13 00:16:57 McastCommon6 1799 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=309366624983,309362176094,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent 1803 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1805 0.0 1.2 ? S Aug 13 00:17:07 LacpTxAgent 1816 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=310181868541,309815745751,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp 1820 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1823 0.0 1.5 ? S Aug 13 00:25:11 Arp 1838 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=314049547173,313613369111,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib 1843 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1846 0.0 1.4 ? S Aug 13 00:17:03 KernelFib 1848 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=314264185905,314224873925,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos 1851 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=318320799164,318320334301,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat 1852 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1854 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1855 0.0 1.2 ? S Aug 13 00:19:12 Qos 1856 0.0 1.1 ? S Aug 13 00:05:35 Thermostat 1857 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=318504392051,318402053905,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib 1860 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1861 0.0 1.2 ? S Aug 13 00:05:37 L2Rib 1862 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=318751447473,318604181270,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled 1863 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1864 0.0 1.2 ? S Aug 13 00:16:57 TopoAgent 1866 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=322455034859,322155642338,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse 1867 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1868 0.0 1.1 ? S Aug 13 00:04:45 PowerFuse 1869 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=322587808158,322578809808,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager 1870 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1871 0.0 1.1 ? S Aug 13 00:04:45 PowerManager 1873 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=323042777435,322918823692,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra 1874 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1877 0.0 1.4 ? S Aug 13 00:21:47 Ebra 1891 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=326873611161,326505655736,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent 1892 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1893 0.0 1.1 ? S Aug 13 00:04:46 ReloadCauseAgent 1894 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=327049023399,326947638167,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile 1899 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1901 0.0 1.1 ? S Aug 13 00:04:45 SharedSecretProfile 1905 0.0 1.5 ? S Aug 13 00:17:11 IgmpSnooping 1934 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=331109407249,331039454504,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled 1937 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1944 0.0 1.3 ? S Aug 13 00:05:36 StaticRoute 1949 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=331478251055,331216741841,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled 1950 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1953 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=331572043702,331571419321,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled 1954 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1956 0.0 1.9 ? S Aug 13 00:05:44 BgpCliHelper 1957 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=335410314406,335272307760,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute 1958 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1959 0.0 1.3 ? S Aug 13 00:17:08 ConnectedRoute 1962 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=335932354218,335526352897,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput 1963 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1968 0.0 1.3 ? S Aug 13 00:05:37 RouteInput 2011 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=343638383733,339942676958,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe 2014 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2319 0.0 0.0 ? Ssl Aug 13 00:00:25 /usr/sbin/rsyslogd -n 2592 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=387516644822,387516174371,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager 2596 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2597 0.0 1.1 ? S Aug 13 00:04:47 LicenseManager 2614 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd 2615 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux 2616 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0 2633 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2614 /var/log/eos-console | sed 's/\(.*\)/\1\r/' 2638 0.0 0.0 ? S Aug 13 00:00:53 /usr/bin/tail -n 0 --retry --follow=name --pid=2614 /var/log/eos-console 2639 0.0 0.0 ? S Aug 13 00:00:00 sed s/\(.*\)/\1\r/ 2666 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct> 2695 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=408586225606,408585707942,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec 2696 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2697 0.0 1.2 ? S Aug 13 00:35:24 Ipsec 2699 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1 2726 0.0 0.1 ? Ssl Aug 13 00:02:11 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid 2730 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc 3232 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Nat --demuxerOpts=1099846842576,1099845884354,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Nat 3237 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3242 0.0 1.2 ? S Aug 13 00:35:11 Nat 3254 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Vxlan --demuxerOpts=1100211266267,1100011505404,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Vxlan 3257 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3263 0.0 1.4 ? S Aug 13 00:17:55 Vxlan 3275 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=VxlanSwFwd --demuxerOpts=1104023511318,1100341538690,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/VxlanSwFwd 3277 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3278 0.0 1.4 ? S Aug 13 00:18:49 VxlanSwFwd 3315 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon 3317 0.0 0.1 ? Ssl Aug 13 00:02:49 /usr/libexec/strongswan/charon --use-syslog 3367 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Fhrp --demuxerOpts=1113312651255,1113311572347,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Fhrp --scheduled 3368 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3856 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:0] 3977 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq 14256 0.0 0.0 ? S 16:11:00 00:00:00 [kworker/0:0] 16699 0.0 0.0 ? S 16:17:01 00:00:00 [kworker/0:2] 18091 0.0 0.0 ? S 16:23:01 00:00:00 [kworker/0:1] 21755 0.0 0.0 ? S 16:29:00 00:00:00 [kworker/0:3] 22090 0.0 0.0 ? S Sep 01 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh 24391 0.0 0.0 ? Rs 16:32:51 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww 26289 0.0 0.0 ? S Aug 26 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=5050641215580694,5050641215085095,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini 26290 0.0 0.3 ? Ss Aug 26 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 26291 0.0 1.3 ? Sl Aug 26 00:03:57 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 26335 0.0 0.0 ? Ss Aug 26 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid; 26337 0.0 0.1 ? S Aug 26 00:01:37 nginx: worker process | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/api/test_api.py::APITests::test_if_management_https_api_server_port_is_correct_on_[kg-topology-CloudEOSEdge2] | Verify https server is enabled on port 443 | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| HTTPS Server is running on port: |443| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_api.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_management_https_api_server_port_is_correct_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True} INFO root:test_api.py:106 TEST is HTTPS API port on |kg-topology-CloudEOSEdge2| INFO root:test_api.py:107 GIVEN HTTPS API port is |443| INFO root:tests_tools.py:356 Verify if show command |show management api http-commands| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show management api http-commands| on kg-topology-CloudEOSEdge2 INFO root:test_api.py:116 WHEN HTTPS API port is |443| INFO root:test_api.py:119 THEN test case result is |True| INFO root:test_api.py:120 OUTPUT of |show management api http-commands| is : Enabled: Yes HTTPS server: running, set to use port 443 HTTP server: shutdown, set to use port 80 Local HTTP server: shutdown, no authentication, set to use port 8080 Unix Socket server: shutdown, no authentication VRFs: default Hits: 71685 Last hit: 0 seconds ago Bytes in: 10883801 Bytes out: 193070251 Requests: 67285 Commands: 134570 Duration: 7867.286 seconds SSL Profile: none FIPS Mode: No QoS DSCP: 0 Log Level: none CSP Frame Ancestor: None TLS Protocols: 1.0 1.1 1.2 User Requests Bytes in Bytes out Last hit ------------- -------------- -------------- --------------- ------------- kgrozis 67285 10883801 193070251 0 seconds ago URLs --------------------------------------- Ethernet1 : https://11.201.15.101:443 Ethernet2 : https://11.201.15.201:443 Ethernet100 : https://11.201.8.1:443 Loopback0 : https://11.201.0.3:443 Loopback10 : https://198.18.0.37:443 | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/daemon/test_daemon.py::DaemonTests::test_if_daemons_are_running_on_[kg-topology-CloudEOSEdge2] | Verify a list of daemons are running on DUT | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2|: TerminAttr daemon running is |True| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_daemon.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_daemons_are_running_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show daemon| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show daemon| on kg-topology-CloudEOSEdge2 INFO root:test_daemon.py:73 TEST is TerminAttr daemon running on |kg-topology-CloudEOSEdge2| INFO root:test_daemon.py:74 GIVEN expected TerminAttr running state: |True| INFO root:test_daemon.py:79 WHEN TerminAttr device running state is |True| INFO root:test_daemon.py:83 THEN test case result is |True| INFO root:test_daemon.py:84 OUTPUT of |show daemon| is : Process: TerminAttr (running with PID 1675) Uptime: 27 days, 15:14:04 (Start time: Thu Aug 13 01:18:53 2020) No configuration options stored. No status data stored. | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/daemon/test_daemon.py::DaemonTests::test_if_daemons_are_enabled_on_[kg-topology-CloudEOSEdge2] | Verify a list of daemons are enabled on DUT | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2|: TerminAttr daemon enabled is |True| and expected value is |True|. Test result is True -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_daemon.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_daemons_are_enabled_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True} INFO root:test_daemon.py:105 TEST is terminattr daemon enabled on |kg-topology-CloudEOSEdge2| INFO root:test_daemon.py:106 GIVEN expected terminattr​ enabled state: |True| INFO root:tests_tools.py:356 Verify if show command |show daemon| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show daemon| on kg-topology-CloudEOSEdge2 INFO root:test_daemon.py:114 WHEN terminattr​ device enabled state is |True| INFO root:test_daemon.py:118 THEN test case result is |True| INFO root:test_daemon.py:119 OUTPUT of |show daemon|: Process: TerminAttr (running with PID 1675) Uptime: 27 days, 15:14:05 (Start time: Thu Aug 13 01:18:53 2020) No configuration options stored. No status data stored. | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/host/test_host.py::HostTests::test_if_hostname_is_correcet_on_[kg-topology-CloudEOSEdge2] | Verify hostname is set on device is correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| the configured hostname is |kg-topology-CloudEOSEdge2| and the correct hostname is |kg-topology-CloudEOSEdge2| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_host.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_hostname_is_correcet_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show hostname| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show hostname| on kg-topology-CloudEOSEdge2 INFO root:test_host.py:72 TEST is hostname kg-topology-CloudEOSEdge2 correct INFO root:test_host.py:73 GIVEN hostname kg-topology-CloudEOSEdge2 INFO root:test_host.py:74 WHEN hostname is kg-topology-CloudEOSEdge2 INFO root:test_host.py:81 THEN test case result is |False| INFO root:test_host.py:82 OUTPUT of |show hostname| is : Hostname: kg-topology-CloudEOSEdge2 FQDN: kg-topology-CloudEOSEdge2 | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/extension/test_extension.py::ExtensionsTests::test_if_extensions_are_erroring_on_[kg-topology-CloudEOSEdge2] | Verify a list of extension are not erroring on a DUT | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| awslogs.swix extension error is |False| On router |kg-topology-CloudEOSEdge2| awsha.rpm extension error is |False| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_extension.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_extensions_are_erroring_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show extensions| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show extensions| on kg-topology-CloudEOSEdge2 INFO root:test_extension.py:117 TEST is awslogs.swix extension not erroring on |kg-topology-CloudEOSEdge2| INFO root:test_extension.py:119 GIVEN expected awslogs.swix extension status: |False| INFO root:test_extension.py:128 WHEN awslogs.swix extenstion error state is |False| INFO root:test_extension.py:132 THEN test case result is |True| INFO root:test_extension.py:133 OUTPUT of |show extensions| is : Name Version/Release Status Extension ----------------- -------------------- ----------- --------- awsha.rpm 0.1.1/1 A, I 1 awslogs.swix 1.4.0/1.el7 A, I 1 A: available | NA: not available | I: installed | NI: not installed | F: forced S: valid signature | NS: invalid signature INFO root:test_extension.py:117 TEST is awsha.rpm extension not erroring on |kg-topology-CloudEOSEdge2| INFO root:test_extension.py:119 GIVEN expected awsha.rpm extension status: |False| INFO root:test_extension.py:128 WHEN awsha.rpm extenstion error state is |False| INFO root:test_extension.py:132 THEN test case result is |True| INFO root:test_extension.py:133 OUTPUT of |show extensions| is : Name Version/Release Status Extension ----------------- -------------------- ----------- --------- awsha.rpm 0.1.1/1 A, I 1 awslogs.swix 1.4.0/1.el7 A, I 1 A: available | NA: not available | I: installed | NI: not installed | F: forced S: valid signature | NS: invalid signature | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/interface/test_interface.py::InterfaceStatusTests::test_if_intf_link_status_is_connected_on_[kg-topology-CloudEOSEdge2] | Verify the interfaces of interest link statuses are up | 0.13 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2|: - On interface |Ethernet1|: interface link line protocol status is set to: |connected|, correct state is |connected| - On interface |Ethernet2|: interface link line protocol status is set to: |connected|, correct state is |connected| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_interface.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_intf_link_status_is_connected_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None} INFO root:tests_tools.py:356 Verify if show command |show interfaces status| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show interfaces status| on kg-topology-CloudEOSEdge2 INFO root:test_interface.py:133 TEST if interface |Ethernet1| link status is up on |kg-topology-CloudEOSEdge2| INFO root:test_interface.py:135 GIVEN interface status is |connected| INFO root:test_interface.py:139 WHEN interface status is |connected| INFO root:test_interface.py:142 THEN test case result is |True| INFO root:test_interface.py:143 OUTPUT of |show interfaces status| is : Port Name Status Vlan Duplex Speed Type Flags Encapsulation Et1 connected routed full unconf 10/100/1000 Et2 connected routed full unconf 10/100/1000 Et2.102 connected routed full unconf dot1q-encapsulation 102 Et100 connected routed full 10G 10/100/1000 INFO root:tests_tools.py:469 Find Index for test suite: test_interface.py on dut kg-topology-CloudEOSEdge2 INFO root:tests_tools.py:473 Test suite test_interface.py exists in results file at index 0 INFO root:tests_tools.py:480 Find Index for test case: test_if_intf_link_status_is_connected_on_ on dut kg-topology-CloudEOSEdge2 INFO root:tests_tools.py:484 Test case test_if_intf_link_status_is_connected_on_ exists in results file at index 0 INFO root:tests_tools.py:491 Add DUT kg-topology-CloudEOSEdge2 to test case test_if_intf_link_status_is_connected_on_ with parameters {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None, 'actual_output': 'connected', 'test_result': True, 'dut': 'kg-topology-CloudEOSEdge2'} INFO root:test_interface.py:133 TEST if interface |Ethernet2| link status is up on |kg-topology-CloudEOSEdge2| INFO root:test_interface.py:135 GIVEN interface status is |connected| INFO root:test_interface.py:139 WHEN interface status is |connected| INFO root:test_interface.py:142 THEN test case result is |True| INFO root:test_interface.py:143 OUTPUT of |show interfaces status| is : Port Name Status Vlan Duplex Speed Type Flags Encapsulation Et1 connected routed full unconf 10/100/1000 Et2 connected routed full unconf 10/100/1000 Et2.102 connected routed full unconf dot1q-encapsulation 102 Et100 connected routed full 10G 10/100/1000 INFO root:tests_tools.py:469 Find Index for test suite: test_interface.py on dut kg-topology-CloudEOSEdge2 INFO root:tests_tools.py:473 Test suite test_interface.py exists in results file at index 0 INFO root:tests_tools.py:480 Find Index for test case: test_if_intf_link_status_is_connected_on_ on dut kg-topology-CloudEOSEdge2 INFO root:tests_tools.py:484 Test case test_if_intf_link_status_is_connected_on_ exists in results file at index 0 INFO root:tests_tools.py:491 Add DUT kg-topology-CloudEOSEdge2 to test case test_if_intf_link_status_is_connected_on_ with parameters {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None, 'actual_output': 'connected', 'test_result': True, 'dut': 'kg-topology-CloudEOSEdge2'} | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/interface/test_interface.py::InterfaceStatusTests::test_if_intf_protocol_status_is_connected_on_[kg-topology-CloudEOSEdge2] | Verify the interfaces of interest protocol statuses are up | 0.13 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2|: - On interface |Ethernet1|: interface link line protocol status is set to: |up|, correct state is |up| - On interface |Ethernet2|: interface link line protocol status is set to: |up|, correct state is |up| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_interface.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_intf_protocol_status_is_connected_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None} INFO root:tests_tools.py:356 Verify if show command |show interfaces status| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show interfaces status| on kg-topology-CloudEOSEdge2 INFO root:test_interface.py:82 TEST if interface |Ethernet1| link prootocol statuses are up on |kg-topology-CloudEOSEdge2| INFO root:test_interface.py:84 GIVEN interface status is |up| INFO root:test_interface.py:88 WHEN interface status is |up| INFO root:test_interface.py:91 THEN test case result is |True| INFO root:test_interface.py:92 OUTPUT of |show interfaces status| is : Port Name Status Vlan Duplex Speed Type Flags Encapsulation Et1 connected routed full unconf 10/100/1000 Et2 connected routed full unconf 10/100/1000 Et2.102 connected routed full unconf dot1q-encapsulation 102 Et100 connected routed full 10G 10/100/1000 INFO root:tests_tools.py:469 Find Index for test suite: test_interface.py on dut kg-topology-CloudEOSEdge2 INFO root:tests_tools.py:473 Test suite test_interface.py exists in results file at index 0 INFO root:tests_tools.py:480 Find Index for test case: test_if_intf_protocol_status_is_connected_on_ on dut kg-topology-CloudEOSEdge2 INFO root:tests_tools.py:484 Test case test_if_intf_protocol_status_is_connected_on_ exists in results file at index 2 INFO root:tests_tools.py:491 Add DUT kg-topology-CloudEOSEdge2 to test case test_if_intf_protocol_status_is_connected_on_ with parameters {'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None, 'actual_output': 'up', 'test_result': True, 'dut': 'kg-topology-CloudEOSEdge2'} INFO root:test_interface.py:82 TEST if interface |Ethernet2| link prootocol statuses are up on |kg-topology-CloudEOSEdge2| INFO root:test_interface.py:84 GIVEN interface status is |up| INFO root:test_interface.py:88 WHEN interface status is |up| INFO root:test_interface.py:91 THEN test case result is |True| INFO root:test_interface.py:92 OUTPUT of |show interfaces status| is : Port Name Status Vlan Duplex Speed Type Flags Encapsulation Et1 connected routed full unconf 10/100/1000 Et2 connected routed full unconf 10/100/1000 Et2.102 connected routed full unconf dot1q-encapsulation 102 Et100 connected routed full 10G 10/100/1000 INFO root:tests_tools.py:469 Find Index for test suite: test_interface.py on dut kg-topology-CloudEOSEdge2 INFO root:tests_tools.py:473 Test suite test_interface.py exists in results file at index 0 INFO root:tests_tools.py:480 Find Index for test case: test_if_intf_protocol_status_is_connected_on_ on dut kg-topology-CloudEOSEdge2 INFO root:tests_tools.py:484 Test case test_if_intf_protocol_status_is_connected_on_ exists in results file at index 2 INFO root:tests_tools.py:491 Add DUT kg-topology-CloudEOSEdge2 to test case test_if_intf_protocol_status_is_connected_on_ with parameters {'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None, 'actual_output': 'up', 'test_result': True, 'dut': 'kg-topology-CloudEOSEdge2'} | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/dns/test_dns.py::DNSTests::test_if_dns_resolves_on_[kg-topology-CloudEOSEdge2] | Verify DNS is running by performing pings and verifying name resolution | 1.26 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| DNS resolution |Passed| for google.com On router |kg-topology-CloudEOSEdge2| DNS resolution |Passed| for cnn.com On router |kg-topology-CloudEOSEdge2| DNS resolution |Passed| for arista.com -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_dns.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_dns_resolves_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True} INFO root:test_dns.py:70 TEST can |kg-topology-CloudEOSEdge2| resolve google.com INFO root:test_dns.py:71 GIVEN URL is |google.com| INFO root:test_dns.py:72 WHEN exception is |Name or service not known| string INFO root:test_dns.py:89 THEN test case result is |Passed| INFO root:test_dns.py:90 OUTPUT of |ping google.com| is : PING google.com (172.217.1.46) 72(100) bytes of data. 76 bytes from ord37s07-in-f46.1e100.net (172.217.1.46): icmp_seq=1 ttl=100 (truncated) 76 bytes from ord37s07-in-f46.1e100.net (172.217.1.46): icmp_seq=2 ttl=100 (truncated) 76 bytes from ord37s07-in-f46.1e100.net (172.217.1.46): icmp_seq=3 ttl=100 (truncated) 76 bytes from ord37s07-in-f46.1e100.net (172.217.1.46): icmp_seq=4 ttl=100 (truncated) 76 bytes from ord37s07-in-f46.1e100.net (172.217.1.46): icmp_seq=5 ttl=100 (truncated) --- google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 65ms rtt min/avg/max/mdev = 17.063/17.361/18.534/0.592 ms, pipe 2, ipg/ewma 16.395/17.927 ms INFO root:test_dns.py:70 TEST can |kg-topology-CloudEOSEdge2| resolve cnn.com INFO root:test_dns.py:71 GIVEN URL is |cnn.com| INFO root:test_dns.py:72 WHEN exception is |Name or service not known| string INFO root:test_dns.py:89 THEN test case result is |Passed| INFO root:test_dns.py:90 OUTPUT of |ping cnn.com| is : PING cnn.com (151.101.65.67) 72(100) bytes of data. 80 bytes from 151.101.65.67 (151.101.65.67): icmp_seq=1 ttl=39 time=12.2 ms 80 bytes from 151.101.65.67 (151.101.65.67): icmp_seq=2 ttl=39 time=10.8 ms 80 bytes from 151.101.65.67 (151.101.65.67): icmp_seq=3 ttl=39 time=10.7 ms 80 bytes from 151.101.65.67 (151.101.65.67): icmp_seq=4 ttl=39 time=10.7 ms 80 bytes from 151.101.65.67 (151.101.65.67): icmp_seq=5 ttl=39 time=10.7 ms --- cnn.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 47ms rtt min/avg/max/mdev = 10.738/11.064/12.268/0.617 ms, pipe 2, ipg/ewma 11.905/11.643 ms INFO root:test_dns.py:70 TEST can |kg-topology-CloudEOSEdge2| resolve arista.com INFO root:test_dns.py:71 GIVEN URL is |arista.com| INFO root:test_dns.py:72 WHEN exception is |Name or service not known| string INFO root:test_dns.py:89 THEN test case result is |Passed| INFO root:test_dns.py:90 OUTPUT of |ping arista.com| is : PING arista.com (64.68.200.46) 72(100) bytes of data. 80 bytes from url-fwd.easydns.com (64.68.200.46): icmp_seq=1 ttl=40 time=24.2 ms 80 bytes from url-fwd.easydns.com (64.68.200.46): icmp_seq=2 ttl=40 time=22.8 ms 80 bytes from url-fwd.easydns.com (64.68.200.46): icmp_seq=3 ttl=40 time=22.7 ms 80 bytes from url-fwd.easydns.com (64.68.200.46): icmp_seq=4 ttl=40 time=22.7 ms 80 bytes from url-fwd.easydns.com (64.68.200.46): icmp_seq=5 ttl=40 time=22.8 ms --- arista.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 69ms rtt min/avg/max/mdev = 22.789/23.106/24.290/0.622 ms, pipe 3, ipg/ewma 17.434/23.678 ms | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/interface/test_interface.py::InterfacePhyTests::test_if_intf_phy_status_connected_on_[kg-topology-CloudEOSEdge2] | Verify the interfaces of interest physical state is link up | 0.07 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ kg-topology-CloudEOSEdge2 is a VEOS instance so test NOT valid -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_interface.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_intf_phy_status_connected_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None} INFO root:tests_tools.py:356 Verify if show command |show interfaces phy detail| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show interfaces phy detail| on kg-topology-CloudEOSEdge2 INFO root:tests_tools.py:399 Verify if kg-topology-CloudEOSEdge2 DUT is a VEOS instance INFO root:tests_tools.py:403 kg-topology-CloudEOSEdge2 is a VEOS instance so returning True INFO root:tests_tools.py:469 Find Index for test suite: test_interface.py on dut kg-topology-CloudEOSEdge2 INFO root:tests_tools.py:473 Test suite test_interface.py exists in results file at index 0 INFO root:tests_tools.py:480 Find Index for test case: test_if_intf_phy_status_connected_on_ on dut kg-topology-CloudEOSEdge2 INFO root:tests_tools.py:484 Test case test_if_intf_phy_status_connected_on_ exists in results file at index 1 INFO root:tests_tools.py:491 Add DUT kg-topology-CloudEOSEdge2 to test case test_if_intf_phy_status_connected_on_ with parameters {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None, 'actual_output': None, 'test_result': None, 'dut': 'kg-topology-CloudEOSEdge2'} | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/logging/test_logging.py::LoggingTests::test_if_log_messages_appear_on_[kg-topology-CloudEOSEdge2] | Verify local log messages | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| message |critical| NOT found in local log On router |kg-topology-CloudEOSEdge2| message |warning| NOT found in local log On router |kg-topology-CloudEOSEdge2| message |ECC| NOT found in local log On router |kg-topology-CloudEOSEdge2| message |servers errors| NOT found in local log On router |kg-topology-CloudEOSEdge2| message |parity| NOT found in local log -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_logging.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_log_messages_appear_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show logging| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show logging| on kg-topology-CloudEOSEdge2 INFO root:test_logging.py:74 TEST for local log message critical on |kg-topology-CloudEOSEdge2| INFO root:test_logging.py:86 THEN test case result is |Passed| INFO root:test_logging.py:87 OUTPUT of |show logging| is : Syslog logging: enabled Buffer logging: level debugging Console logging: level errors Persistent logging: disabled Monitor logging: level errors Synchronous logging: disabled Trap logging: level informational Sequence numbers: disabled Syslog facility: local4 Hostname format: Hostname only Repeat logging interval: disabled Repeat messages: disabled Facility Severity Effective Severity -------------------- ------------- ------------------ aaa debugging debugging accounting debugging debugging acl debugging debugging agent debugging debugging ale debugging debugging arp debugging debugging bfd debugging debugging bgp debugging debugging bmp debugging debugging capacity debugging debugging capi debugging debugging clear debugging debugging cvx debugging debugging dataplane debugging debugging dhcp debugging debugging dot1x debugging debugging dscp debugging debugging envmon debugging debugging eth debugging debugging eventmon debugging debugging extension debugging debugging fhrp debugging debugging flow debugging debugging forwarding debugging debugging fru debugging debugging fwk debugging debugging gmp debugging debugging hardware debugging debugging health debugging debugging httpservice debugging debugging igmp debugging debugging igmpsnooping debugging debugging int debugging debugging intf debugging debugging ip6routing debugging debugging iprib debugging debugging ira debugging debugging isis debugging debugging kernelfib debugging debugging lacp debugging debugging lag debugging debugging launcher debugging debugging ldp debugging debugging license debugging debugging lineproto debugging debugging lldp debugging debugging loadbalancer debugging debugging logmgr debugging debugging loopback debugging debugging loopprotect debugging debugging mapreducemonitor debugging debugging mcs debugging debugging mirroring debugging debugging mka debugging debugging mlag debugging debugging mldsnooping debugging debugging mmode debugging debugging mroute debugging debugging mrp debugging debugging msdp debugging debugging msrp debugging debugging msspolicymonitor debugging debugging mvrp debugging debugging nat debugging debugging openconfig debugging debugging openflow debugging debugging ospf debugging debugging ospf3 debugging debugging package debugging debugging pfc debugging debugging pimbsr debugging debugging portsecurity debugging debugging ptp debugging debugging pwrmgmt debugging debugging qos debugging debugging queuemonitor debugging debugging radius debugging debugging redundancy debugging debugging rib debugging debugging routing debugging debugging security debugging debugging servermonitor debugging debugging spantree debugging debugging sso debugging debugging stagemgr debugging debugging sys debugging debugging sysdb debugging debugging tapagg debugging debugging tcp debugging debugging transceiver debugging debugging tunnel debugging debugging tunnelintf debugging debugging vmtracersess debugging debugging vmwarevi debugging debugging vmwarevs debugging debugging vrf debugging debugging vrrp debugging debugging vxlan debugging debugging xmpp debugging debugging ztp debugging debugging Log Buffer: Sep 9 16:14:20 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:14:40 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:14:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:03 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:28 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:52 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:20:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:11 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:21:38 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:44 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:18 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:44 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:24:03 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:24:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:13 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:38 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:56 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:02 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:16 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:41 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:27:02 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:27:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:30:42 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:08 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:29 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:35 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:43 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:26 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:32 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:40 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] INFO root:test_logging.py:74 TEST for local log message warning on |kg-topology-CloudEOSEdge2| INFO root:test_logging.py:86 THEN test case result is |Passed| INFO root:test_logging.py:87 OUTPUT of |show logging| is : Syslog logging: enabled Buffer logging: level debugging Console logging: level errors Persistent logging: disabled Monitor logging: level errors Synchronous logging: disabled Trap logging: level informational Sequence numbers: disabled Syslog facility: local4 Hostname format: Hostname only Repeat logging interval: disabled Repeat messages: disabled Facility Severity Effective Severity -------------------- ------------- ------------------ aaa debugging debugging accounting debugging debugging acl debugging debugging agent debugging debugging ale debugging debugging arp debugging debugging bfd debugging debugging bgp debugging debugging bmp debugging debugging capacity debugging debugging capi debugging debugging clear debugging debugging cvx debugging debugging dataplane debugging debugging dhcp debugging debugging dot1x debugging debugging dscp debugging debugging envmon debugging debugging eth debugging debugging eventmon debugging debugging extension debugging debugging fhrp debugging debugging flow debugging debugging forwarding debugging debugging fru debugging debugging fwk debugging debugging gmp debugging debugging hardware debugging debugging health debugging debugging httpservice debugging debugging igmp debugging debugging igmpsnooping debugging debugging int debugging debugging intf debugging debugging ip6routing debugging debugging iprib debugging debugging ira debugging debugging isis debugging debugging kernelfib debugging debugging lacp debugging debugging lag debugging debugging launcher debugging debugging ldp debugging debugging license debugging debugging lineproto debugging debugging lldp debugging debugging loadbalancer debugging debugging logmgr debugging debugging loopback debugging debugging loopprotect debugging debugging mapreducemonitor debugging debugging mcs debugging debugging mirroring debugging debugging mka debugging debugging mlag debugging debugging mldsnooping debugging debugging mmode debugging debugging mroute debugging debugging mrp debugging debugging msdp debugging debugging msrp debugging debugging msspolicymonitor debugging debugging mvrp debugging debugging nat debugging debugging openconfig debugging debugging openflow debugging debugging ospf debugging debugging ospf3 debugging debugging package debugging debugging pfc debugging debugging pimbsr debugging debugging portsecurity debugging debugging ptp debugging debugging pwrmgmt debugging debugging qos debugging debugging queuemonitor debugging debugging radius debugging debugging redundancy debugging debugging rib debugging debugging routing debugging debugging security debugging debugging servermonitor debugging debugging spantree debugging debugging sso debugging debugging stagemgr debugging debugging sys debugging debugging sysdb debugging debugging tapagg debugging debugging tcp debugging debugging transceiver debugging debugging tunnel debugging debugging tunnelintf debugging debugging vmtracersess debugging debugging vmwarevi debugging debugging vmwarevs debugging debugging vrf debugging debugging vrrp debugging debugging vxlan debugging debugging xmpp debugging debugging ztp debugging debugging Log Buffer: Sep 9 16:14:20 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:14:40 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:14:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:03 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:28 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:52 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:20:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:11 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:21:38 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:44 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:18 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:44 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:24:03 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:24:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:13 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:38 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:56 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:02 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:16 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:41 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:27:02 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:27:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:30:42 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:08 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:29 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:35 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:43 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:26 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:32 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:40 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] INFO root:test_logging.py:74 TEST for local log message ECC on |kg-topology-CloudEOSEdge2| INFO root:test_logging.py:86 THEN test case result is |Passed| INFO root:test_logging.py:87 OUTPUT of |show logging| is : Syslog logging: enabled Buffer logging: level debugging Console logging: level errors Persistent logging: disabled Monitor logging: level errors Synchronous logging: disabled Trap logging: level informational Sequence numbers: disabled Syslog facility: local4 Hostname format: Hostname only Repeat logging interval: disabled Repeat messages: disabled Facility Severity Effective Severity -------------------- ------------- ------------------ aaa debugging debugging accounting debugging debugging acl debugging debugging agent debugging debugging ale debugging debugging arp debugging debugging bfd debugging debugging bgp debugging debugging bmp debugging debugging capacity debugging debugging capi debugging debugging clear debugging debugging cvx debugging debugging dataplane debugging debugging dhcp debugging debugging dot1x debugging debugging dscp debugging debugging envmon debugging debugging eth debugging debugging eventmon debugging debugging extension debugging debugging fhrp debugging debugging flow debugging debugging forwarding debugging debugging fru debugging debugging fwk debugging debugging gmp debugging debugging hardware debugging debugging health debugging debugging httpservice debugging debugging igmp debugging debugging igmpsnooping debugging debugging int debugging debugging intf debugging debugging ip6routing debugging debugging iprib debugging debugging ira debugging debugging isis debugging debugging kernelfib debugging debugging lacp debugging debugging lag debugging debugging launcher debugging debugging ldp debugging debugging license debugging debugging lineproto debugging debugging lldp debugging debugging loadbalancer debugging debugging logmgr debugging debugging loopback debugging debugging loopprotect debugging debugging mapreducemonitor debugging debugging mcs debugging debugging mirroring debugging debugging mka debugging debugging mlag debugging debugging mldsnooping debugging debugging mmode debugging debugging mroute debugging debugging mrp debugging debugging msdp debugging debugging msrp debugging debugging msspolicymonitor debugging debugging mvrp debugging debugging nat debugging debugging openconfig debugging debugging openflow debugging debugging ospf debugging debugging ospf3 debugging debugging package debugging debugging pfc debugging debugging pimbsr debugging debugging portsecurity debugging debugging ptp debugging debugging pwrmgmt debugging debugging qos debugging debugging queuemonitor debugging debugging radius debugging debugging redundancy debugging debugging rib debugging debugging routing debugging debugging security debugging debugging servermonitor debugging debugging spantree debugging debugging sso debugging debugging stagemgr debugging debugging sys debugging debugging sysdb debugging debugging tapagg debugging debugging tcp debugging debugging transceiver debugging debugging tunnel debugging debugging tunnelintf debugging debugging vmtracersess debugging debugging vmwarevi debugging debugging vmwarevs debugging debugging vrf debugging debugging vrrp debugging debugging vxlan debugging debugging xmpp debugging debugging ztp debugging debugging Log Buffer: Sep 9 16:14:20 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:14:40 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:14:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:03 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:28 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:52 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:20:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:11 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:21:38 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:44 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:18 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:44 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:24:03 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:24:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:13 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:38 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:56 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:02 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:16 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:41 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:27:02 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:27:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:30:42 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:08 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:29 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:35 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:43 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:26 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:32 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:40 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] INFO root:test_logging.py:74 TEST for local log message servers errors on |kg-topology-CloudEOSEdge2| INFO root:test_logging.py:86 THEN test case result is |Passed| INFO root:test_logging.py:87 OUTPUT of |show logging| is : Syslog logging: enabled Buffer logging: level debugging Console logging: level errors Persistent logging: disabled Monitor logging: level errors Synchronous logging: disabled Trap logging: level informational Sequence numbers: disabled Syslog facility: local4 Hostname format: Hostname only Repeat logging interval: disabled Repeat messages: disabled Facility Severity Effective Severity -------------------- ------------- ------------------ aaa debugging debugging accounting debugging debugging acl debugging debugging agent debugging debugging ale debugging debugging arp debugging debugging bfd debugging debugging bgp debugging debugging bmp debugging debugging capacity debugging debugging capi debugging debugging clear debugging debugging cvx debugging debugging dataplane debugging debugging dhcp debugging debugging dot1x debugging debugging dscp debugging debugging envmon debugging debugging eth debugging debugging eventmon debugging debugging extension debugging debugging fhrp debugging debugging flow debugging debugging forwarding debugging debugging fru debugging debugging fwk debugging debugging gmp debugging debugging hardware debugging debugging health debugging debugging httpservice debugging debugging igmp debugging debugging igmpsnooping debugging debugging int debugging debugging intf debugging debugging ip6routing debugging debugging iprib debugging debugging ira debugging debugging isis debugging debugging kernelfib debugging debugging lacp debugging debugging lag debugging debugging launcher debugging debugging ldp debugging debugging license debugging debugging lineproto debugging debugging lldp debugging debugging loadbalancer debugging debugging logmgr debugging debugging loopback debugging debugging loopprotect debugging debugging mapreducemonitor debugging debugging mcs debugging debugging mirroring debugging debugging mka debugging debugging mlag debugging debugging mldsnooping debugging debugging mmode debugging debugging mroute debugging debugging mrp debugging debugging msdp debugging debugging msrp debugging debugging msspolicymonitor debugging debugging mvrp debugging debugging nat debugging debugging openconfig debugging debugging openflow debugging debugging ospf debugging debugging ospf3 debugging debugging package debugging debugging pfc debugging debugging pimbsr debugging debugging portsecurity debugging debugging ptp debugging debugging pwrmgmt debugging debugging qos debugging debugging queuemonitor debugging debugging radius debugging debugging redundancy debugging debugging rib debugging debugging routing debugging debugging security debugging debugging servermonitor debugging debugging spantree debugging debugging sso debugging debugging stagemgr debugging debugging sys debugging debugging sysdb debugging debugging tapagg debugging debugging tcp debugging debugging transceiver debugging debugging tunnel debugging debugging tunnelintf debugging debugging vmtracersess debugging debugging vmwarevi debugging debugging vmwarevs debugging debugging vrf debugging debugging vrrp debugging debugging vxlan debugging debugging xmpp debugging debugging ztp debugging debugging Log Buffer: Sep 9 16:14:20 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:14:40 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:14:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:03 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:28 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:52 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:20:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:11 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:21:38 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:44 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:18 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:44 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:24:03 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:24:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:13 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:38 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:56 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:02 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:16 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:41 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:27:02 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:27:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:30:42 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:08 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:29 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:35 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:43 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:26 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:32 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:40 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] INFO root:test_logging.py:74 TEST for local log message parity on |kg-topology-CloudEOSEdge2| INFO root:test_logging.py:86 THEN test case result is |Passed| INFO root:test_logging.py:87 OUTPUT of |show logging| is : Syslog logging: enabled Buffer logging: level debugging Console logging: level errors Persistent logging: disabled Monitor logging: level errors Synchronous logging: disabled Trap logging: level informational Sequence numbers: disabled Syslog facility: local4 Hostname format: Hostname only Repeat logging interval: disabled Repeat messages: disabled Facility Severity Effective Severity -------------------- ------------- ------------------ aaa debugging debugging accounting debugging debugging acl debugging debugging agent debugging debugging ale debugging debugging arp debugging debugging bfd debugging debugging bgp debugging debugging bmp debugging debugging capacity debugging debugging capi debugging debugging clear debugging debugging cvx debugging debugging dataplane debugging debugging dhcp debugging debugging dot1x debugging debugging dscp debugging debugging envmon debugging debugging eth debugging debugging eventmon debugging debugging extension debugging debugging fhrp debugging debugging flow debugging debugging forwarding debugging debugging fru debugging debugging fwk debugging debugging gmp debugging debugging hardware debugging debugging health debugging debugging httpservice debugging debugging igmp debugging debugging igmpsnooping debugging debugging int debugging debugging intf debugging debugging ip6routing debugging debugging iprib debugging debugging ira debugging debugging isis debugging debugging kernelfib debugging debugging lacp debugging debugging lag debugging debugging launcher debugging debugging ldp debugging debugging license debugging debugging lineproto debugging debugging lldp debugging debugging loadbalancer debugging debugging logmgr debugging debugging loopback debugging debugging loopprotect debugging debugging mapreducemonitor debugging debugging mcs debugging debugging mirroring debugging debugging mka debugging debugging mlag debugging debugging mldsnooping debugging debugging mmode debugging debugging mroute debugging debugging mrp debugging debugging msdp debugging debugging msrp debugging debugging msspolicymonitor debugging debugging mvrp debugging debugging nat debugging debugging openconfig debugging debugging openflow debugging debugging ospf debugging debugging ospf3 debugging debugging package debugging debugging pfc debugging debugging pimbsr debugging debugging portsecurity debugging debugging ptp debugging debugging pwrmgmt debugging debugging qos debugging debugging queuemonitor debugging debugging radius debugging debugging redundancy debugging debugging rib debugging debugging routing debugging debugging security debugging debugging servermonitor debugging debugging spantree debugging debugging sso debugging debugging stagemgr debugging debugging sys debugging debugging sysdb debugging debugging tapagg debugging debugging tcp debugging debugging transceiver debugging debugging tunnel debugging debugging tunnelintf debugging debugging vmtracersess debugging debugging vmwarevi debugging debugging vmwarevs debugging debugging vrf debugging debugging vrrp debugging debugging vxlan debugging debugging xmpp debugging debugging ztp debugging debugging Log Buffer: Sep 9 16:14:20 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:14:40 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:14:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:03 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:28 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:15:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:15:52 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:20:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:11 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:21:38 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:21:44 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:23:18 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:23:44 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:24:03 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:24:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:13 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:25:38 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:25:56 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:02 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:26:16 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:26:41 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:27:02 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:27:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:30:42 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:08 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:29 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:31:35 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:31:43 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:26 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] Sep 9 16:32:32 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api] Sep 9 16:32:40 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api] | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/ntp/test_ntp.py::NTPTests::test_if_ntp_is_synchronized_on_[kg-topology-CloudEOSEdge2] | Verify ntp is synchronzied | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| NTP synchronized status is: |True| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_ntp.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_ntp_is_synchronized_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show ntp status| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show ntp status| on kg-topology-CloudEOSEdge2 INFO root:test_ntp.py:70 TEST is NTP synchronized on |kg-topology-CloudEOSEdge2| INFO root:test_ntp.py:71 GIVEN NTP synchronized is |True| INFO root:test_ntp.py:77 WHEN NTP configuration file is |True| INFO root:test_ntp.py:80 THEN test case result is |True| INFO root:test_ntp.py:81 OUTPUT of |show ntp status| is : synchronised to NTP server (169.254.169.123) at stratum 4 time correct to within 27 ms polling server every 1024 s | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/extension/test_extension.py::ExtensionsTests::test_if_extensions_are_installed_on_[kg-topology-CloudEOSEdge2] | Verify a list of extension are installed on a DUT | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| awslogs.swix extension is |installed| On router |kg-topology-CloudEOSEdge2| awsha.rpm extension is |installed| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_extension.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_extensions_are_installed_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show extensions| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show extensions| on kg-topology-CloudEOSEdge2 INFO root:test_extension.py:73 TEST is awslogs.swix extension installed on |kg-topology-CloudEOSEdge2| INFO root:test_extension.py:75 GIVEN expected awslogs.swix extension status: |installed| INFO root:test_extension.py:83 WHEN awslogs.swix extenstion installation state is |installed| INFO root:test_extension.py:87 THEN test case result is |True| INFO root:test_extension.py:88 OUTPUT of |show extensions| is : Name Version/Release Status Extension ----------------- -------------------- ----------- --------- awsha.rpm 0.1.1/1 A, I 1 awslogs.swix 1.4.0/1.el7 A, I 1 A: available | NA: not available | I: installed | NI: not installed | F: forced S: valid signature | NS: invalid signature INFO root:test_extension.py:73 TEST is awsha.rpm extension installed on |kg-topology-CloudEOSEdge2| INFO root:test_extension.py:75 GIVEN expected awsha.rpm extension status: |installed| INFO root:test_extension.py:83 WHEN awsha.rpm extenstion installation state is |installed| INFO root:test_extension.py:87 THEN test case result is |True| INFO root:test_extension.py:88 OUTPUT of |show extensions| is : Name Version/Release Status Extension ----------------- -------------------- ----------- --------- awsha.rpm 0.1.1/1 A, I 1 awslogs.swix 1.4.0/1.el7 A, I 1 A: available | NA: not available | I: installed | NI: not installed | F: forced S: valid signature | NS: invalid signature | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/filesystem/test_filesystem.py::FileSystemTests::test_if_files_on_[kg-topology-CloudEOSEdge2] | Verify filesystem is correct and expected files are present | 0.92 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2|: flash:startup-config file isDir state is |False| On router |kg-topology-CloudEOSEdge2|: flash:veos-config file isDir state is |False| On router |kg-topology-CloudEOSEdge2|: flash:zerotouch-config file isDir state is |False| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_filesystem.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_files_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True} INFO root:test_filesystem.py:70 TEST is flash:startup-config file present on |kg-topology-CloudEOSEdge2| INFO root:test_filesystem.py:71 GIVEN expected flash:startup-config isDir state: |False| INFO root:tests_tools.py:245 Raw Input for return_show_cmd show_cmd: show file information flash:startup-config dut: {'connection': Node(connection=EapiConnection(transport=https://3.131.34.190:443//command-api)), 'name': 'kg-topology-CloudEOSEdge2', 'output': {'interface_list': [{'hostname': 'kg-topology-CloudEOSEdge2', 'interface_name': 'Ethernet1', 'z_hostname': 'spine01', 'z_interface_name': 'Ethernet2', 'media_type': ''}, {'hostname': 'kg-topology-CloudEOSEdge2', 'interface_name': 'Ethernet2', 'z_hostname': 'leaf01', 'z_interface_name': 'Ethernet2', 'media_type': ''}], 'show interfaces status': {'json': {'interfaceStatuses': {'Ethernet2.102': {'vlanInformation': {'interfaceMode': 'encap', 'vlanId': 102, 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': 'dot1q-encapsulation', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'encapsulation': {'encapsulationType': 'dot1q', 'dot1qVlanTags': [102]}, 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet2': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet100': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 10000000000, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet1': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}}}, 'text': 'Port Name Status Vlan Duplex Speed Type Flags Encapsulation\nEt1 connected routed full unconf 10/100/1000 \nEt2 connected routed full unconf 10/100/1000 \nEt2.102 connected routed full unconf dot1q-encapsulation 102 \nEt100 connected routed full 10G 10/100/1000 \n\n'}, 'show interfaces phy detail': {'json': {'interfacePhyStatuses': {}}, 'text': ''}, 'show hostname': {'json': {'fqdn': 'kg-topology-CloudEOSEdge2', 'hostname': 'kg-topology-CloudEOSEdge2'}, 'text': 'Hostname: kg-topology-CloudEOSEdge2\nFQDN: kg-topology-CloudEOSEdge2\n'}, 'show extensions': {'json': {'extensions': {'awslogs.swix': {'status': 'installed', 'vendor': 'Amazon <UNKNOWN>', 'description': ' awsclicwlogs This awscli plugin provides the pull, push and filter commands to\naccess AWS CloudWatch Logs service. The awsclicwlogs package works on Python\nversions:* 2.6.5 and greater * 2.7.x and greater * 3.3.x and greater\nInstallation The easiest way to install awsclicwlogs is to use pip_:: $ pip\ninstall awsclicwlogsor, if you are not installing in a virtualenv:: $ sudo pip\ninstall ...', 'presence': 'present', 'rpms': {'awslogs.noarch.rpm': {'release': '1.el7', 'version': '1.4.0'}}, 'summary': 'AWSCLI CloudWatch Logs plugin', 'version': '1.4.0', 'numRpms': 1, 'error': False, 'release': '1.el7', 'installedSize': 23414055}, 'awsha.rpm': {'status': 'installed', 'vendor': '', 'description': 'Aws HA', 'presence': 'present', 'rpms': {'awsha.rpm': {'release': '1', 'version': '0.1.1'}}, 'summary': 'Aws HA', 'version': '0.1.1', 'numRpms': 1, 'error': False, 'release': '1', 'installedSize': 10073042}}}, 'text': 'Name Version/Release Status Extension\n----------------- -------------------- ----------- ---------\nawsha.rpm 0.1.1/1 A, I 1 \nawslogs.swix 1.4.0/1.el7 A, I 1 \n\n\nA: available | NA: not available | I: installed | NI: not installed | F: forced\nS: valid signature | NS: invalid signature\n'}, 'show version': {'json': {'memTotal': 7761392, 'uptime': 2387703.57, 'modelName': 'vEOS', 'internalVersion': '4.23.1F-cloud-16179785.jakartarel', 'mfgName': 'Arista', 'serialNumber': 'DE52F26D16E91F22BB1B507175C8C765', 'systemMacAddress': '06:35:02:ca:82:97', 'bootupTimestamp': 1597281468.0, 'memFree': 2856592, 'version': '4.23.1F-cloud-16179785.jakartarel (engineering build)', 'configMacAddress': '00:00:00:00:00:00', 'isIntlVersion': False, 'internalBuildId': '6bc96200-86c1-4e86-bed7-8280a6802809', 'hardwareRevision': '', 'hwMacAddress': '00:00:00:00:00:00', 'architecture': 'x86_64'}, 'text': 'Arista vEOS\nHardware version: \nSerial number: DE52F26D16E91F22BB1B507175C8C765\nSystem MAC address: 0635.02ca.8297\n\nSoftware image version: 4.23.1F-cloud-16179785.jakartarel (engineering build)\nArchitecture: x86_64\nInternal build version: 4.23.1F-cloud-16179785.jakartarel\nInternal build ID: 6bc96200-86c1-4e86-bed7-8280a6802809\n\nUptime: 3 weeks, 6 days, 15 hours and 15 minutes\nTotal memory: 7761392 kB\nFree memory: 2856712 kB\n\n'}, 'show processes': {'json': {'processes': {'2025': {'totalActiveTime': 2422222, 'memPct': 3.7, 'cpuPct': 101.0, 'startTime': 1597281547.0, 'cmd': 'Sfe', 'state': 'Sl', 'ttyName': '?'}, '1675': {'totalActiveTime': 61391, 'memPct': 2.1, 'cpuPct': 2.5, 'startTime': 1597281532.0, 'cmd': '/usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.15.101 -taillogs -grpcaddr=0.0.0.0:6042', 'state': 'Sl', 'ttyName': '?'}, '22112': {'totalActiveTime': 4299, 'memPct': 0.6, 'cpuPct': 0.5, 'startTime': 1598942707.0, 'cmd': 'python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config', 'state': 'SNl', 'ttyName': '?'}, '1476': {'totalActiveTime': 7377, 'memPct': 2.6, 'cpuPct': 0.3, 'startTime': 1597281508.0, 'cmd': 'Sysdb', 'state': 'S', 'ttyName': '?'}, '1518': {'totalActiveTime': 8624, 'memPct': 7.5, 'cpuPct': 0.3, 'startTime': 1597281511.0, 'cmd': 'ConfigAgent', 'state': 'Sl', 'ttyName': '?'}, '1243': {'totalActiveTime': 5897, 'memPct': 0.9, 'cpuPct': 0.2, 'startTime': 1597281493.0, 'cmd': 'ProcMgr-worker', 'state': 'S', 'ttyName': '?'}, '1951': {'totalActiveTime': 4882, 'memPct': 1.7, 'cpuPct': 0.2, 'startTime': 1597281544.0, 'cmd': 'IpRib', 'state': 'S', 'ttyName': '?'}, '1703': {'totalActiveTime': 3048, 'memPct': 1.7, 'cpuPct': 0.1, 'startTime': 1597281534.0, 'cmd': 'SuperServer', 'state': 'S', 'ttyName': '?'}, '1719': {'totalActiveTime': 2540, 'memPct': 1.2, 'cpuPct': 0.1, 'startTime': 1597281536.0, 'cmd': 'StpTxRx', 'state': 'S', 'ttyName': '?'}, '1727': {'totalActiveTime': 4700, 'memPct': 1.0, 'cpuPct': 0.1, 'startTime': 1597281536.0, 'cmd': 'AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1980': {'totalActiveTime': 3016, 'memPct': 2.3, 'cpuPct': 0.1, 'startTime': 1597281546.0, 'cmd': 'Bgp', 'state': 'Sl', 'ttyName': '?'}, '3369': {'totalActiveTime': 4608, 'memPct': 1.4, 'cpuPct': 0.1, 'startTime': 1597281726.0, 'cmd': 'Fhrp', 'state': 'S', 'ttyName': '?'}, '1': {'totalActiveTime': 353, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '/sbin/init', 'state': 'Ss', 'ttyName': '?'}, '2': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kthreadd]', 'state': 'S', 'ttyName': '?'}, '3': {'totalActiveTime': 14, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ksoftirqd/0]', 'state': 'S', 'ttyName': '?'}, '5': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/0:0H]', 'state': 'S<', 'ttyName': '?'}, '7': {'totalActiveTime': 24, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[rcu_preempt]', 'state': 'S', 'ttyName': '?'}, '8': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[rcu_sched]', 'state': 'S', 'ttyName': '?'}, '9': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[rcu_bh]', 'state': 'S', 'ttyName': '?'}, '10': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[migration/0]', 'state': 'S', 'ttyName': '?'}, '11': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[lru-add-drain]', 'state': 'S<', 'ttyName': '?'}, '12': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[watchdog/0]', 'state': 'S', 'ttyName': '?'}, '13': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[cpuhp/0]', 'state': 'S', 'ttyName': '?'}, '14': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[cpuhp/1]', 'state': 'S', 'ttyName': '?'}, '15': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[watchdog/1]', 'state': 'S', 'ttyName': '?'}, '16': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[migration/1]', 'state': 'S', 'ttyName': '?'}, '17': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ksoftirqd/1]', 'state': 'S', 'ttyName': '?'}, '18': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/1:0]', 'state': 'S', 'ttyName': '?'}, '19': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/1:0H]', 'state': 'S<', 'ttyName': '?'}, '20': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[cpuhp/2]', 'state': 'S', 'ttyName': '?'}, '21': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[watchdog/2]', 'state': 'S', 'ttyName': '?'}, '22': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[migration/2]', 'state': 'S', 'ttyName': '?'}, '23': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ksoftirqd/2]', 'state': 'S', 'ttyName': '?'}, '24': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/2:0]', 'state': 'S', 'ttyName': '?'}, '25': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/2:0H]', 'state': 'S<', 'ttyName': '?'}, '26': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[cpuhp/3]', 'state': 'S', 'ttyName': '?'}, '27': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[watchdog/3]', 'state': 'S', 'ttyName': '?'}, '28': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[migration/3]', 'state': 'S', 'ttyName': '?'}, '29': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ksoftirqd/3]', 'state': 'S', 'ttyName': '?'}, '30': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/3:0]', 'state': 'S', 'ttyName': '?'}, '31': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/3:0H]', 'state': 'S<', 'ttyName': '?'}, '32': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kdevtmpfs]', 'state': 'S', 'ttyName': '?'}, '33': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[netns]', 'state': 'S<', 'ttyName': '?'}, '34': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[khungtaskd]', 'state': 'S', 'ttyName': '?'}, '35': {'totalActiveTime': 13, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[khungtaskd2]', 'state': 'S', 'ttyName': '?'}, '36': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[oom_reaper]', 'state': 'S', 'ttyName': '?'}, '37': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[writeback]', 'state': 'S<', 'ttyName': '?'}, '38': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kcompactd0]', 'state': 'S', 'ttyName': '?'}, '39': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[crypto]', 'state': 'S<', 'ttyName': '?'}, '40': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kintegrityd]', 'state': 'S<', 'ttyName': '?'}, '41': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '42': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kblockd]', 'state': 'S<', 'ttyName': '?'}, '43': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ata_sff]', 'state': 'S<', 'ttyName': '?'}, '44': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[edac-poller]', 'state': 'S<', 'ttyName': '?'}, '45': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[dst_gc_task]', 'state': 'S', 'ttyName': '?'}, '46': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[watchdogd]', 'state': 'S<', 'ttyName': '?'}, '47': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[arp_cache-prd]', 'state': 'S', 'ttyName': '?'}, '49': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[icmp_unreachabl]', 'state': 'S', 'ttyName': '?'}, '50': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[rpciod]', 'state': 'S<', 'ttyName': '?'}, '51': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[xprtiod]', 'state': 'S<', 'ttyName': '?'}, '52': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kswapd0]', 'state': 'S', 'ttyName': '?'}, '53': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[vmstat]', 'state': 'S<', 'ttyName': '?'}, '54': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[nfsiod]', 'state': 'S<', 'ttyName': '?'}, '63': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[pcielwd]', 'state': 'S<', 'ttyName': '?'}, '64': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '65': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '66': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '67': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '68': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '69': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '70': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '71': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '72': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[nvme]', 'state': 'S<', 'ttyName': '?'}, '73': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/u8:1]', 'state': 'S', 'ttyName': '?'}, '74': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ndisc_cache-prd]', 'state': 'S', 'ttyName': '?'}, '75': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ipv6_addrconf]', 'state': 'S<', 'ttyName': '?'}, '76': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ecc_log_wq]', 'state': 'S<', 'ttyName': '?'}, '124': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '125': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '171': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[jbd2/nvme0n1p1-]', 'state': 'S', 'ttyName': '?'}, '172': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ext4-rsv-conver]', 'state': 'S<', 'ttyName': '?'}, '194': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '[kworker/0:1H]', 'state': 'S<', 'ttyName': '?'}, '272': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': '[loop0]', 'state': 'S<', 'ttyName': '?'}, '378': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281476.0, 'cmd': '/usr/lib/systemd/systemd-udevd', 'state': 'Ss', 'ttyName': '?'}, '410': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281476.0, 'cmd': '/usr/sbin/lvmetad -f', 'state': 'Ss', 'ttyName': '?'}, '497': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': '[ena]', 'state': 'S<', 'ttyName': '?'}, '746': {'totalActiveTime': 168, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': '/usr/lib/systemd/systemd-logind', 'state': 'Ss', 'ttyName': '?'}, '752': {'totalActiveTime': 49, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': '/usr/bin/ProcMonitor', 'state': 'Ss', 'ttyName': '?'}, '762': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': '/usr/sbin/mcelog --ignorenodev --daemon --foreground', 'state': 'Ss', 'ttyName': '?'}, '770': {'totalActiveTime': 257, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': '/usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation', 'state': 'Ss', 'ttyName': '?'}, '784': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281478.0, 'cmd': '[kworker/1:1]', 'state': 'S', 'ttyName': '?'}, '790': {'totalActiveTime': 4, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281478.0, 'cmd': '/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid', 'state': 'Ss', 'ttyName': '?'}, '880': {'totalActiveTime': 16, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281479.0, 'cmd': '/usr/sbin/crond -n', 'state': 'Ss', 'ttyName': '?'}, '889': {'totalActiveTime': 20, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281479.0, 'cmd': '/usr/bin/wdogdev -t 60', 'state': 'S<s', 'ttyName': '?'}, '998': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281480.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local', 'state': 'S', 'ttyName': '?'}, '1000': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281480.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/0'}, '1015': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281480.0, 'cmd': '/usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil', 'state': 'Ss', 'ttyName': '?'}, '1019': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281481.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys', 'state': 'S', 'ttyName': '?'}, '1021': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281481.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/1'}, '1030': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281481.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure', 'state': 'S', 'ttyName': '?'}, '1031': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281481.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/2'}, '1062': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281482.0, 'cmd': '/bin/bash /usr/sbin/core_annotate_util daemon', 'state': 'Ss', 'ttyName': '?'}, '1189': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281487.0, 'cmd': 'python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1190': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281487.0, 'cmd': '/usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1224': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281487.0, 'cmd': 'inotifywait -e modify /var/lib/rpm', 'state': 'S', 'ttyName': '?'}, '1226': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281493.0, 'cmd': 'netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1228': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281493.0, 'cmd': 'netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1242': {'totalActiveTime': 0, 'memPct': 0.9, 'cpuPct': 0.0, 'startTime': 1597281493.0, 'cmd': 'ProcMgr-master', 'state': 'S', 'ttyName': '?'}, '1415': {'totalActiveTime': 554, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281507.0, 'cmd': '/usr/bin/EosOomAdjust', 'state': 'S', 'ttyName': '?'}, '1423': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281508.0, 'cmd': '[rbfd_vrf_cleanu]', 'state': 'S', 'ttyName': '?'}, '1438': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281508.0, 'cmd': '/usr/sbin/acpid', 'state': 'Ss', 'ttyName': '?'}, '1475': {'totalActiveTime': 130, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281508.0, 'cmd': '/usr/bin/SlabMonitor', 'state': 'S', 'ttyName': '?'}, '1517': {'totalActiveTime': 284, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281511.0, 'cmd': 'StageMgr', 'state': 'S', 'ttyName': '?'}, '1521': {'totalActiveTime': 1003, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281511.0, 'cmd': 'Fru', 'state': 'S', 'ttyName': '?'}, '1524': {'totalActiveTime': 467, 'memPct': 1.8, 'cpuPct': 0.0, 'startTime': 1597281512.0, 'cmd': 'Launcher', 'state': 'S', 'ttyName': '?'}, '1651': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=Lldp --demuxerOpts=279603612376,279603122369,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp', 'state': 'S', 'ttyName': '?'}, '1653': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1654': {'totalActiveTime': 1367, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'Lldp', 'state': 'S', 'ttyName': '?'}, '1657': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=McastCommon --demuxerOpts=279725388188,279650445982,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon', 'state': 'S', 'ttyName': '?'}, '1659': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1661': {'totalActiveTime': 1014, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'McastCommon', 'state': 'S', 'ttyName': '?'}, '1665': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=PortSec --demuxerOpts=279886274558,279754810922,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec', 'state': 'S', 'ttyName': '?'}, '1666': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1668': {'totalActiveTime': 1106, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'PortSec', 'state': 'S', 'ttyName': '?'}, '1669': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': '[kworker/1:1H]', 'state': 'S<', 'ttyName': '?'}, '1696': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netns --agenttitle=Bfd --demuxerOpts=283657265762,283482593841,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd', 'state': 'S', 'ttyName': '?'}, '1698': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1699': {'totalActiveTime': 1080, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'Bfd', 'state': 'S', 'ttyName': '?'}, '1700': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netns --agenttitle=Lag --demuxerOpts=287819325384,287795062523,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag', 'state': 'S', 'ttyName': '?'}, '1701': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1702': {'totalActiveTime': 1998, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'Lag', 'state': 'S', 'ttyName': '?'}, '1707': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netns --agenttitle=Ira --demuxerOpts=288347310924,288297455705,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira', 'state': 'S', 'ttyName': '?'}, '1708': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1709': {'totalActiveTime': 1025, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'Ira', 'state': 'S', 'ttyName': '?'}, '1710': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netns --agenttitle=LedPolicy --demuxerOpts=292586167457,292268884394,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy', 'state': 'S', 'ttyName': '?'}, '1712': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1713': {'totalActiveTime': 1211, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'LedPolicy', 'state': 'S', 'ttyName': '?'}, '1714': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netns --agenttitle=EventMgr --demuxerOpts=292780957018,292649411528,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr', 'state': 'S', 'ttyName': '?'}, '1715': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1716': {'totalActiveTime': 1341, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'EventMgr', 'state': 'S', 'ttyName': '?'}, '1717': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netns --agenttitle=StpTxRx --demuxerOpts=293034015438,292843558270,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx', 'state': 'S', 'ttyName': '?'}, '1718': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1721': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=StandbyCpld --demuxerOpts=296572620123,296400986578,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1723': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1724': {'totalActiveTime': 286, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1725': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=AgentMonitor --demuxerOpts=296770445824,296638057211,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1726': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1729': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=Tunnel --demuxerOpts=296984960239,296854805708,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel', 'state': 'S', 'ttyName': '?'}, '1730': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1731': {'totalActiveTime': 462, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'Tunnel', 'state': 'S', 'ttyName': '?'}, '1732': {'totalActiveTime': 712, 'memPct': 1.6, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'Aaa', 'state': 'Sl', 'ttyName': '?'}, '1734': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netns --agenttitle=StpTopology --demuxerOpts=300919938207,300696082381,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology', 'state': 'S', 'ttyName': '?'}, '1735': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1736': {'totalActiveTime': 1020, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'StpTopology', 'state': 'S', 'ttyName': '?'}, '1738': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netns --agenttitle=Acl --demuxerOpts=301331916824,300996693213,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl', 'state': 'S', 'ttyName': '?'}, '1741': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1743': {'totalActiveTime': 2217, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'Acl', 'state': 'S', 'ttyName': '?'}, '1753': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netns --agenttitle=Stp --demuxerOpts=305107266403,301413423552,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp', 'state': 'S', 'ttyName': '?'}, '1756': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1759': {'totalActiveTime': 1645, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'Stp', 'state': 'S', 'ttyName': '?'}, '1776': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netns --agenttitle=KernelNetworkInfo --demuxerOpts=305360891096,305329042634,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1778': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1780': {'totalActiveTime': 335, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1785': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netns --agenttitle=McastCommon6 --demuxerOpts=305785444216,305760706994,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6', 'state': 'S', 'ttyName': '?'}, '1788': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1789': {'totalActiveTime': 1017, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'McastCommon6', 'state': 'S', 'ttyName': '?'}, '1799': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netns --agenttitle=LacpTxAgent --demuxerOpts=309366624983,309362176094,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1803': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1805': {'totalActiveTime': 1027, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1816': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'netns --agenttitle=Arp --demuxerOpts=310181868541,309815745751,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp', 'state': 'S', 'ttyName': '?'}, '1820': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1823': {'totalActiveTime': 1511, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'Arp', 'state': 'S', 'ttyName': '?'}, '1838': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'netns --agenttitle=KernelFib --demuxerOpts=314049547173,313613369111,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib', 'state': 'S', 'ttyName': '?'}, '1843': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1846': {'totalActiveTime': 1023, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'KernelFib', 'state': 'S', 'ttyName': '?'}, '1848': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'netns --agenttitle=Qos --demuxerOpts=314264185905,314224873925,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos', 'state': 'S', 'ttyName': '?'}, '1851': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netns --agenttitle=Thermostat --demuxerOpts=318320799164,318320334301,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat', 'state': 'S', 'ttyName': '?'}, '1852': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1854': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1855': {'totalActiveTime': 1152, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'Qos', 'state': 'S', 'ttyName': '?'}, '1856': {'totalActiveTime': 335, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'Thermostat', 'state': 'S', 'ttyName': '?'}, '1857': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netns --agenttitle=L2Rib --demuxerOpts=318504392051,318402053905,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib', 'state': 'S', 'ttyName': '?'}, '1860': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1861': {'totalActiveTime': 337, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'L2Rib', 'state': 'S', 'ttyName': '?'}, '1862': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netns --agenttitle=TopoAgent --demuxerOpts=318751447473,318604181270,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled', 'state': 'S', 'ttyName': '?'}, '1863': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1864': {'totalActiveTime': 1017, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'TopoAgent', 'state': 'S', 'ttyName': '?'}, '1866': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'netns --agenttitle=PowerFuse --demuxerOpts=322455034859,322155642338,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse', 'state': 'S', 'ttyName': '?'}, '1867': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1868': {'totalActiveTime': 285, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'PowerFuse', 'state': 'S', 'ttyName': '?'}, '1869': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'netns --agenttitle=PowerManager --demuxerOpts=322587808158,322578809808,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager', 'state': 'S', 'ttyName': '?'}, '1870': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1871': {'totalActiveTime': 285, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'PowerManager', 'state': 'S', 'ttyName': '?'}, '1873': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'netns --agenttitle=Ebra --demuxerOpts=323042777435,322918823692,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra', 'state': 'S', 'ttyName': '?'}, '1874': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1877': {'totalActiveTime': 1307, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'Ebra', 'state': 'S', 'ttyName': '?'}, '1891': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'netns --agenttitle=ReloadCauseAgent --demuxerOpts=326873611161,326505655736,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1892': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1893': {'totalActiveTime': 286, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1894': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'netns --agenttitle=SharedSecretProfile --demuxerOpts=327049023399,326947638167,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1899': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1901': {'totalActiveTime': 285, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1905': {'totalActiveTime': 1031, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'IgmpSnooping', 'state': 'S', 'ttyName': '?'}, '1934': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281544.0, 'cmd': 'netns --agenttitle=StaticRoute --demuxerOpts=331109407249,331039454504,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled', 'state': 'S', 'ttyName': '?'}, '1937': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281544.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1944': {'totalActiveTime': 336, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281544.0, 'cmd': 'StaticRoute', 'state': 'S', 'ttyName': '?'}, '1949': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281544.0, 'cmd': 'netns --agenttitle=IpRib --demuxerOpts=331478251055,331216741841,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled', 'state': 'S', 'ttyName': '?'}, '1950': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281544.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1953': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': 'netns --agenttitle=BgpCliHelper --demuxerOpts=331572043702,331571419321,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled', 'state': 'S', 'ttyName': '?'}, '1954': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1956': {'totalActiveTime': 344, 'memPct': 1.9, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': 'BgpCliHelper', 'state': 'S', 'ttyName': '?'}, '1957': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': 'netns --agenttitle=ConnectedRoute --demuxerOpts=335410314406,335272307760,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '1958': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1959': {'totalActiveTime': 1028, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': 'ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '1962': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281546.0, 'cmd': 'netns --agenttitle=RouteInput --demuxerOpts=335932354218,335526352897,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput', 'state': 'S', 'ttyName': '?'}, '1963': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281546.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1968': {'totalActiveTime': 337, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281546.0, 'cmd': 'RouteInput', 'state': 'S', 'ttyName': '?'}, '2011': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281547.0, 'cmd': 'netns --agenttitle=Sfe --demuxerOpts=343638383733,339942676958,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe', 'state': 'S', 'ttyName': '?'}, '2014': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281547.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2319': {'totalActiveTime': 25, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': '/usr/sbin/rsyslogd -n', 'state': 'Ssl', 'ttyName': '?'}, '2592': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281557.0, 'cmd': 'netns --agenttitle=LicenseManager --demuxerOpts=387516644822,387516174371,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager', 'state': 'S', 'ttyName': '?'}, '2596': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281558.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2597': {'totalActiveTime': 287, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281558.0, 'cmd': 'LicenseManager', 'state': 'S', 'ttyName': '?'}, '2614': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281559.0, 'cmd': '/usr/bin/conlogd', 'state': 'S', 'ttyName': '?'}, '2615': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281559.0, 'cmd': '/sbin/agetty --noclear tty1 linux', 'state': 'Ss+', 'ttyName': 'tty1'}, '2616': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281559.0, 'cmd': '/sbin/mingetty --noclear /dev/ttyS0', 'state': 'Ss+', 'ttyName': 'ttyS0'}, '2633': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281560.0, 'cmd': "sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2614 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'", 'state': 'S', 'ttyName': '?'}, '2638': {'totalActiveTime': 53, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281560.0, 'cmd': '/usr/bin/tail -n 0 --retry --follow=name --pid=2614 /var/log/eos-console', 'state': 'S', 'ttyName': '?'}, '2639': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281560.0, 'cmd': 'sed s/\\(.*\\)/\\1\\r/', 'state': 'S', 'ttyName': '?'}, '2666': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281561.0, 'cmd': '[SuperServer] <defunct>', 'state': 'Zs', 'ttyName': '?'}, '2695': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281562.0, 'cmd': 'netns --agenttitle=Ipsec --demuxerOpts=408586225606,408585707942,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec', 'state': 'S', 'ttyName': '?'}, '2696': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281562.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2697': {'totalActiveTime': 2124, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281562.0, 'cmd': 'Ipsec', 'state': 'S', 'ttyName': '?'}, '2699': {'totalActiveTime': 1, 'memPct': 0.4, 'cpuPct': 0.0, 'startTime': 1597281562.0, 'cmd': 'dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1', 'state': 'Ss', 'ttyName': '?'}, '2726': {'totalActiveTime': 131, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281564.0, 'cmd': 'ntpd -u ntp:ntp -g -p /var/run/ntpd.pid', 'state': 'Ssl', 'ttyName': '?'}, '2730': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281567.0, 'cmd': 'fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc', 'state': 'Ss', 'ttyName': '?'}, '3232': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281723.0, 'cmd': 'netns --agenttitle=Nat --demuxerOpts=1099846842576,1099845884354,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Nat', 'state': 'S', 'ttyName': '?'}, '3237': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281723.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3242': {'totalActiveTime': 2111, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281723.0, 'cmd': 'Nat', 'state': 'S', 'ttyName': '?'}, '3254': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281723.0, 'cmd': 'netns --agenttitle=Vxlan --demuxerOpts=1100211266267,1100011505404,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Vxlan', 'state': 'S', 'ttyName': '?'}, '3257': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281723.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3263': {'totalActiveTime': 1075, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281723.0, 'cmd': 'Vxlan', 'state': 'S', 'ttyName': '?'}, '3275': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281724.0, 'cmd': 'netns --agenttitle=VxlanSwFwd --demuxerOpts=1104023511318,1100341538690,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/VxlanSwFwd', 'state': 'S', 'ttyName': '?'}, '3277': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281724.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3278': {'totalActiveTime': 1129, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281724.0, 'cmd': 'VxlanSwFwd', 'state': 'S', 'ttyName': '?'}, '3315': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281725.0, 'cmd': '/usr/libexec/strongswan/starter --daemon charon', 'state': 'Ss', 'ttyName': '?'}, '3317': {'totalActiveTime': 169, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281725.0, 'cmd': '/usr/libexec/strongswan/charon --use-syslog', 'state': 'Ssl', 'ttyName': '?'}, '3367': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281726.0, 'cmd': 'netns --agenttitle=Fhrp --demuxerOpts=1113312651255,1113311572347,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Fhrp --scheduled', 'state': 'S', 'ttyName': '?'}, '3368': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281726.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3856': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281920.0, 'cmd': '[kworker/u8:0]', 'state': 'S', 'ttyName': '?'}, '3977': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281922.0, 'cmd': '/usr/sbin/dnsmasq', 'state': 'S', 'ttyName': '?'}, '14256': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599667860.0, 'cmd': '[kworker/0:0]', 'state': 'S', 'ttyName': '?'}, '16699': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668221.0, 'cmd': '[kworker/0:2]', 'state': 'S', 'ttyName': '?'}, '18091': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668581.0, 'cmd': '[kworker/0:1]', 'state': 'S', 'ttyName': '?'}, '21755': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668940.0, 'cmd': '[kworker/0:3]', 'state': 'S', 'ttyName': '?'}, '22090': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1598942706.0, 'cmd': '/bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh', 'state': 'S', 'ttyName': '?'}, '24384': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669171.0, 'cmd': 'ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww', 'state': 'Rs', 'ttyName': '?'}, '26289': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1598457411.0, 'cmd': 'netns --agenttitle=CapiApp --demuxerOpts=5050641215580694,5050641215085095,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini', 'state': 'S', 'ttyName': '?'}, '26290': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1598457411.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '26291': {'totalActiveTime': 237, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1598457411.0, 'cmd': 'CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Sl', 'ttyName': '?'}, '26335': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1598457412.0, 'cmd': 'nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;', 'state': 'Ss', 'ttyName': '?'}, '26337': {'totalActiveTime': 97, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1598457412.0, 'cmd': 'nginx: worker process ', 'state': 'S', 'ttyName': '?'}}, 'timeInfo': {'upTime': 2387704.19, 'loadAvg': [1.53, 1.43, 1.38], 'users': 0, 'currentTime': 1599669171.905339}}, 'text': " 16:32:52 up 27 days, 15:15, 0 users, load average: 1.53, 1.43, 1.38\n PID %CPU %MEM TT STAT STARTED TIME CMD\n 2025 101 3.7 ? Sl Aug 13 28-00:50:22 Sfe\n 1675 2.5 2.1 ? Sl Aug 13 17:03:11 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.15.101 -taillogs -grpcaddr=0.0.0.0:6042\n22112 0.5 0.6 ? SNl Sep 01 01:11:39 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config\n 1476 0.3 2.6 ? S Aug 13 02:02:57 Sysdb\n 1518 0.3 7.5 ? Sl Aug 13 02:23:44 ConfigAgent\n 1243 0.2 0.9 ? S Aug 13 01:38:17 ProcMgr-worker\n 1951 0.2 1.7 ? S Aug 13 01:21:22 IpRib\n 1703 0.1 1.7 ? S Aug 13 00:50:48 SuperServer\n 1719 0.1 1.2 ? S Aug 13 00:42:20 StpTxRx\n 1727 0.1 1.0 ? S Aug 13 01:18:20 AgentMonitor\n 1980 0.1 2.3 ? Sl Aug 13 00:50:16 Bgp\n 3369 0.1 1.4 ? S Aug 13 01:16:48 Fhrp\n 1 0.0 0.0 ? Ss Aug 13 00:05:53 /sbin/init\n 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd]\n 3 0.0 0.0 ? S Aug 13 00:00:14 [ksoftirqd/0]\n 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H]\n 7 0.0 0.0 ? S Aug 13 00:00:24 [rcu_preempt]\n 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched]\n 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh]\n 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0]\n 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain]\n 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0]\n 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0]\n 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1]\n 15 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/1]\n 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1]\n 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1]\n 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0]\n 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H]\n 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2]\n 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2]\n 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2]\n 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2]\n 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0]\n 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H]\n 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3]\n 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3]\n 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3]\n 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3]\n 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0]\n 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H]\n 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs]\n 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns]\n 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd]\n 35 0.0 0.0 ? S Aug 13 00:00:13 [khungtaskd2]\n 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper]\n 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback]\n 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0]\n 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto]\n 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd]\n 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd]\n 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff]\n 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller]\n 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task]\n 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd]\n 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd]\n 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl]\n 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod]\n 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod]\n 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0]\n 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat]\n 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod]\n 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd]\n 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme]\n 73 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:1]\n 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd]\n 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf]\n 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq]\n 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-]\n 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver]\n 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H]\n 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0]\n 378 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd\n 410 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f\n 497 0.0 0.0 ? S< Aug 13 00:00:00 [ena]\n 746 0.0 0.0 ? Ss Aug 13 00:02:48 /usr/lib/systemd/systemd-logind\n 752 0.0 0.0 ? Ss Aug 13 00:00:49 /usr/bin/ProcMonitor\n 762 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground\n 770 0.0 0.1 ? Ss Aug 13 00:04:17 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation\n 784 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1]\n 790 0.0 0.0 ? Ss Aug 13 00:00:04 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid\n 880 0.0 0.0 ? Ss Aug 13 00:00:16 /usr/sbin/crond -n\n 889 0.0 0.0 ? S<s Aug 13 00:00:20 /usr/bin/wdogdev -t 60\n 998 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local\n 1000 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1015 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil\n 1019 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys\n 1021 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1030 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure\n 1031 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1062 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon\n 1189 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1190 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1224 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm\n 1226 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1228 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1242 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master\n 1415 0.0 0.0 ? S Aug 13 00:09:14 /usr/bin/EosOomAdjust\n 1423 0.0 0.0 ? S Aug 13 00:00:02 [rbfd_vrf_cleanu]\n 1438 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid\n 1475 0.0 0.0 ? S Aug 13 00:02:10 /usr/bin/SlabMonitor\n 1517 0.0 1.2 ? S Aug 13 00:04:44 StageMgr\n 1521 0.0 1.4 ? S Aug 13 00:16:43 Fru\n 1524 0.0 1.8 ? S Aug 13 00:07:47 Launcher\n 1651 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=279603612376,279603122369,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp\n 1653 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1654 0.0 1.3 ? S Aug 13 00:22:47 Lldp\n 1657 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=279725388188,279650445982,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon\n 1659 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1661 0.0 1.2 ? S Aug 13 00:16:54 McastCommon\n 1665 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=279886274558,279754810922,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec\n 1666 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1668 0.0 1.1 ? S Aug 13 00:18:26 PortSec\n 1669 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H]\n 1696 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=283657265762,283482593841,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd\n 1698 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1699 0.0 1.4 ? S Aug 13 00:18:00 Bfd\n 1700 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=287819325384,287795062523,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag\n 1701 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1702 0.0 1.3 ? S Aug 13 00:33:18 Lag\n 1707 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=288347310924,288297455705,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira\n 1708 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1709 0.0 1.5 ? S Aug 13 00:17:05 Ira\n 1710 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=292586167457,292268884394,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy\n 1712 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1713 0.0 1.2 ? S Aug 13 00:20:11 LedPolicy\n 1714 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=292780957018,292649411528,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr\n 1715 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1716 0.0 1.3 ? S Aug 13 00:22:21 EventMgr\n 1717 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=293034015438,292843558270,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx\n 1718 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1721 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=296572620123,296400986578,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld\n 1723 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1724 0.0 1.1 ? S Aug 13 00:04:46 StandbyCpld\n 1725 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=296770445824,296638057211,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor\n 1726 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1729 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=296984960239,296854805708,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel\n 1730 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1731 0.0 1.2 ? S Aug 13 00:07:42 Tunnel\n 1732 0.0 1.6 ? Sl Aug 13 00:11:52 Aaa\n 1734 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=300919938207,300696082381,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology\n 1735 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1736 0.0 1.2 ? S Aug 13 00:17:00 StpTopology\n 1738 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=301331916824,300996693213,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl\n 1741 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1743 0.0 1.4 ? S Aug 13 00:36:57 Acl\n 1753 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=305107266403,301413423552,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp\n 1756 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1759 0.0 1.1 ? S Aug 13 00:27:25 Stp\n 1776 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=305360891096,305329042634,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo\n 1778 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1780 0.0 1.1 ? S Aug 13 00:05:35 KernelNetworkInfo\n 1785 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=305785444216,305760706994,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6\n 1788 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1789 0.0 1.2 ? S Aug 13 00:16:57 McastCommon6\n 1799 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=309366624983,309362176094,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent\n 1803 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1805 0.0 1.2 ? S Aug 13 00:17:07 LacpTxAgent\n 1816 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=310181868541,309815745751,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp\n 1820 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1823 0.0 1.5 ? S Aug 13 00:25:11 Arp\n 1838 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=314049547173,313613369111,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib\n 1843 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1846 0.0 1.4 ? S Aug 13 00:17:03 KernelFib\n 1848 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=314264185905,314224873925,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos\n 1851 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=318320799164,318320334301,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat\n 1852 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1854 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1855 0.0 1.2 ? S Aug 13 00:19:12 Qos\n 1856 0.0 1.1 ? S Aug 13 00:05:35 Thermostat\n 1857 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=318504392051,318402053905,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib\n 1860 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1861 0.0 1.2 ? S Aug 13 00:05:37 L2Rib\n 1862 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=318751447473,318604181270,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled\n 1863 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1864 0.0 1.2 ? S Aug 13 00:16:57 TopoAgent\n 1866 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=322455034859,322155642338,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse\n 1867 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1868 0.0 1.1 ? S Aug 13 00:04:45 PowerFuse\n 1869 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=322587808158,322578809808,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager\n 1870 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1871 0.0 1.1 ? S Aug 13 00:04:45 PowerManager\n 1873 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=323042777435,322918823692,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra\n 1874 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1877 0.0 1.4 ? S Aug 13 00:21:47 Ebra\n 1891 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=326873611161,326505655736,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent\n 1892 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1893 0.0 1.1 ? S Aug 13 00:04:46 ReloadCauseAgent\n 1894 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=327049023399,326947638167,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile\n 1899 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1901 0.0 1.1 ? S Aug 13 00:04:45 SharedSecretProfile\n 1905 0.0 1.5 ? S Aug 13 00:17:11 IgmpSnooping\n 1934 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=331109407249,331039454504,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled\n 1937 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1944 0.0 1.3 ? S Aug 13 00:05:36 StaticRoute\n 1949 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=331478251055,331216741841,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled\n 1950 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1953 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=331572043702,331571419321,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled\n 1954 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1956 0.0 1.9 ? S Aug 13 00:05:44 BgpCliHelper\n 1957 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=335410314406,335272307760,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute\n 1958 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1959 0.0 1.3 ? S Aug 13 00:17:08 ConnectedRoute\n 1962 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=335932354218,335526352897,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput\n 1963 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1968 0.0 1.3 ? S Aug 13 00:05:37 RouteInput\n 2011 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=343638383733,339942676958,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe\n 2014 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2319 0.0 0.0 ? Ssl Aug 13 00:00:25 /usr/sbin/rsyslogd -n\n 2592 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=387516644822,387516174371,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager\n 2596 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2597 0.0 1.1 ? S Aug 13 00:04:47 LicenseManager\n 2614 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd\n 2615 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux\n 2616 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0\n 2633 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2614 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'\n 2638 0.0 0.0 ? S Aug 13 00:00:53 /usr/bin/tail -n 0 --retry --follow=name --pid=2614 /var/log/eos-console\n 2639 0.0 0.0 ? S Aug 13 00:00:00 sed s/\\(.*\\)/\\1\\r/\n 2666 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct>\n 2695 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=408586225606,408585707942,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec\n 2696 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2697 0.0 1.2 ? S Aug 13 00:35:24 Ipsec\n 2699 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1\n 2726 0.0 0.1 ? Ssl Aug 13 00:02:11 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid\n 2730 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc\n 3232 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Nat --demuxerOpts=1099846842576,1099845884354,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Nat\n 3237 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3242 0.0 1.2 ? S Aug 13 00:35:11 Nat\n 3254 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Vxlan --demuxerOpts=1100211266267,1100011505404,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Vxlan\n 3257 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3263 0.0 1.4 ? S Aug 13 00:17:55 Vxlan\n 3275 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=VxlanSwFwd --demuxerOpts=1104023511318,1100341538690,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/VxlanSwFwd\n 3277 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3278 0.0 1.4 ? S Aug 13 00:18:49 VxlanSwFwd\n 3315 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon\n 3317 0.0 0.1 ? Ssl Aug 13 00:02:49 /usr/libexec/strongswan/charon --use-syslog\n 3367 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Fhrp --demuxerOpts=1113312651255,1113311572347,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Fhrp --scheduled\n 3368 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3856 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:0]\n 3977 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq\n14256 0.0 0.0 ? S 16:11:00 00:00:00 [kworker/0:0]\n16699 0.0 0.0 ? S 16:17:01 00:00:00 [kworker/0:2]\n18091 0.0 0.0 ? S 16:23:01 00:00:00 [kworker/0:1]\n21755 0.0 0.0 ? S 16:29:00 00:00:00 [kworker/0:3]\n22090 0.0 0.0 ? S Sep 01 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh\n24400 0.0 0.0 ? Rs 16:32:51 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww\n26289 0.0 0.0 ? S Aug 26 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=5050641215580694,5050641215085095,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini\n26290 0.0 0.3 ? Ss Aug 26 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n26291 0.0 1.3 ? Sl Aug 26 00:03:57 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n26335 0.0 0.0 ? Ss Aug 26 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;\n26337 0.0 0.1 ? S Aug 26 00:01:37 nginx: worker process \n"}, 'show running-config section username': {'json': {'output': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'text': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'show aaa counters': {'json': {'authenticationSuccess': 74201, 'authorizationAllowed': 2283, 'accountingSuccess': 0, 'pendingAccountingRequests': 0, 'authorizationDenied': 0, 'authenticationFail': 2, 'authenticationUnavailable': 96, 'accountingError': 0, 'authorizationUnavailable': 0}, 'text': 'Authentication\n Successful: 74206\n Failed: 2\n Service unavailable: 96\n\nAuthorization\n Allowed: 2283\n Denied: 0\n Service unavailable: 0\n\nAccounting\n Successful: 0\n Error: 0\n Pending: 0\n\nLast time counters were cleared: never\n'}, 'show users detail': {'json': {'serials': {}, 'nonInteractives': {'75744': {'username': 'kgrozis', 'state': 'established', 'sessionStartTime': 1599669160, 'role': '', 'service': 'commandApi', 'authMethod': 'local'}}, 'vtys': {}}, 'text': 'Session Username Roles TTY State Duration Auth Remote Host \n-------- --------- ------- ------------- ------- ---------- ------- ----------- \n75744 kgrozis command-api E 0:00:14 local \n'}, 'show aaa methods all': {'json': {'authorization': {'commandsAuthzMethods': {'privilege0-15': {'methods': ['none']}}, 'execAuthzMethods': {'exec': {'methods': ['none']}}}, 'authentication': {'loginAuthenMethods': {'default': {'methods': ['local']}}, 'dot1xAuthenMethods': {'default': {'methods': []}}, 'enableAuthenMethods': {'default': {'methods': ['local']}}}, 'accounting': {'systemAcctMethods': {'system': {'defaultMethods': [], 'consoleMethods': []}}, 'execAcctMethods': {'exec': {'defaultMethods': [], 'consoleMethods': []}}, 'commandsAcctMethods': {'privilege0-15': {'defaultMethods': [], 'consoleMethods': []}}, 'dot1xAcctMethods': {'dot1x': {'defaultMethods': [], 'consoleMethods': []}}}}, 'text': 'Authentication method lists for LOGIN:\n name=default methods=local\nAuthentication method list for ENABLE:\n name=default methods=local\nAuthentication method list for DOT1X:\n name=default methods=\nAuthorization method lists for COMMANDS:\n name=privilege0-15 methods=none\nAuthorization method list for EXEC:\n name=exec methods=none\nAccounting method lists for COMMANDS:\n name=privilege0-15 default-action=none\nAccounting method list for EXEC:\n name=exec default-action=none\nAccounting method list for SYSTEM:\n name=system default-action=none\nAccounting method list for DOT1X:\n name=dot1x default-action=none\n'}, 'show ntp status': {'json': {'status': 'synchronised', 'pollingInterval': 1024, 'stratum': 4, 'maxEstimatedError': 27, 'server': '169.254.169.123'}, 'text': 'synchronised to NTP server (169.254.169.123) at stratum 4\n time correct to within 27 ms\n polling server every 1024 s\n\n'}, 'show ntp associations': {'json': {'peers': {'169.254.169.123': {'delay': 0.164, 'jitter': 0.69, 'lastReceived': 1599668408.0, 'peerType': 'local', 'reachabilityHistory': [True, True, True, True, True, True, True, True], 'condition': 'sys.peer', 'offset': 0.074, 'peerIpAddr': '169.254.169.123', 'pollInterval': 1024, 'refid': '169.254.169.122', 'stratumLevel': 3}}}, 'text': ' remote refid st t when poll reach delay offset jitter\n==============================================================================\n*169.254.169.123 169.254.169.12 3 l 769 1024 377 0.164 0.074 0.69\n'}, 'show daemon': {'json': {'daemons': {'TerminAttr': {'running': True, 'option': {}, 'starttime': 1597281533.685061, 'pid': 1675, 'enabled': True, 'uptime': 2387644.55, 'data': {}, 'isSdkAgent': False}}}, 'text': 'Process: TerminAttr (running with PID 1675)\nUptime: 27 days, 15:14:04 (Start time: Thu Aug 13 01:18:53 2020)\nNo configuration options stored.\n\nNo status data stored.\n\n'}, 'show zerotouch': {'json': {'mode': 'disabled', 'scriptTimeout': 900}, 'text': '\nZeroTouch Mode: Disabled\nScript Exec Timeout: 900\n'}, 'dir flash:zerotouch-config': {'json': {'messages': ['Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7291580416 bytes free)\n']}, 'text': 'Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7291580416 bytes free)\n'}, 'show system environment temperature': {'json': {'cardSlots': [], 'powerSupplySlots': [], 'shutdownOnOverheat': True, 'tempSensors': [], 'systemStatus': 'unknownTemperatureAlarmLevel'}, 'text': 'System temperature status is: Unknown\n'}, 'show system environment cooling': {'json': {'overrideFanSpeed': 0, 'coolingMode': 'automatic', 'powerSupplySlots': [], 'fanTraySlots': [], 'minFanSpeed': 0, 'shutdownOnInsufficientFans': True, 'systemStatus': 'unknownCoolingAlarmLevel', 'airflowDirection': 'unknownAirflowDirection'}, 'text': 'System cooling status is: Unknown\nAmbient temperature: Unknown\n Config Actual Speed Stable\nFan Status Speed Speed Uptime Stability Uptime\n--- ------ ------ ------ ------ --------- ------\n'}, 'show management api http-commands': {'json': {'httpServer': {'running': False, 'configured': False, 'port': 80}, 'users': {'kgrozis': {'requestCount': 67280, 'bytesOut': 193066464, 'lastHitTime': 1599669180.7875922, 'bytesIn': 10883000}}, 'bytesOut': 193066464, 'logLevel': 'none', 'dscpValue': 0, 'corsOrigins': [], 'hitCount': 71680, 'vrf': 'default', 'lastHitTime': 1599669180.7875366, 'tlsProtocol': ['1.0', '1.1', '1.2'], 'localHttpServer': {'running': False, 'configured': False, 'port': 8080}, 'executionTime': 7867.150401368941, 'enabled': True, 'fipsEnabled': False, 'httpsServer': {'running': True, 'configured': True, 'port': 443}, 'requestCount': 67280, 'vrfs': ['default'], 'urls': ['Ethernet1 : https://11.201.15.101:443', 'Ethernet2 : https://11.201.15.201:443', 'Ethernet100 : https://11.201.8.1:443', 'Loopback0 : https://11.201.0.3:443', 'Loopback10 : https://198.18.0.37:443'], 'unixSocketServer': {'running': False, 'configured': False}, 'bytesIn': 10883000, 'commandCount': 134560, 'iframeAncestors': []}, 'text': 'Enabled: Yes\nHTTPS server: running, set to use port 443\nHTTP server: shutdown, set to use port 80\nLocal HTTP server: shutdown, no authentication, set to use port 8080\nUnix Socket server: shutdown, no authentication\nVRFs: default\nHits: 71685\nLast hit: 0 seconds ago\nBytes in: 10883801\nBytes out: 193070251\nRequests: 67285\nCommands: 134570\nDuration: 7867.286 seconds\nSSL Profile: none\nFIPS Mode: No\nQoS DSCP: 0\nLog Level: none\nCSP Frame Ancestor: None\nTLS Protocols: 1.0 1.1 1.2\n User Requests Bytes in Bytes out Last hit \n------------- -------------- -------------- --------------- ------------- \n kgrozis 67285 10883801 193070251 0 seconds ago \n\nURLs \n--------------------------------------- \nEthernet1 : https://11.201.15.101:443 \nEthernet2 : https://11.201.15.201:443 \nEthernet100 : https://11.201.8.1:443 \nLoopback0 : https://11.201.0.3:443 \nLoopback10 : https://198.18.0.37:443 \n\n'}, 'show tacacs': {'json': {'tacacsServers': [], 'groups': {}, 'srcIntf': {}, 'lastCounterClearTime': 0.0}, 'text': '\nLast time counters were cleared: never\n'}, 'show logging': {'json': {'output': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:20 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:40 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:28 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:52 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:11 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:38 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:44 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:44 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:24:03 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:24:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:38 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:56 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:02 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:41 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:27:02 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:27:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:08 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:29 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:35 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:26 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:32 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}, 'text': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:20 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:40 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:28 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:52 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:11 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:38 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:44 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:44 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:24:03 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:24:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:38 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:56 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:02 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:41 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:27:02 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:27:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:08 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:29 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:35 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:26 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:32 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}}} test_name: test_if_files_on_ test_parameters: {'parameters': {'show_log': 'show_output.log'}} INFO root:tests_tools.py:250 Return model data and text output from show commands and log text output for show file information flash:startup-config with connnection Node(connection=EapiConnection(transport=https://3.131.34.190:443//command-api)) INFO root:tests_tools.py:254 Raw json output of show file information flash:startup-config on dut kg-topology-CloudEOSEdge2: [{'command': 'show file information flash:startup-config', 'result': {'isDir': False, 'path': 'flash:/startup-config', 'fileName': '/mnt/flash/startup-config'}, 'encoding': 'json'}] INFO root:tests_tools.py:257 Raw text output of show file information flash:startup-config on dut kg-topology-CloudEOSEdge2: [{'output': 'flash:/startup-config:\n type is file\n'}] INFO root:tests_tools.py:311 Open log file for logging test show commands INFO root:tests_tools.py:315 Opening file show_output.log and append show output: flash:/startup-config: type is file INFO root:test_filesystem.py:80 WHEN flash:startup-config file isDir state is |False| INFO root:test_filesystem.py:84 THEN test case result is |True| INFO root:test_filesystem.py:85 OUTPUT of |show file information flash:startup-config| is : [{'output': 'flash:/startup-config:\n type is file\n'}] INFO root:test_filesystem.py:70 TEST is flash:veos-config file present on |kg-topology-CloudEOSEdge2| INFO root:test_filesystem.py:71 GIVEN expected flash:veos-config isDir state: |False| INFO root:tests_tools.py:245 Raw Input for return_show_cmd show_cmd: show file information flash:veos-config dut: {'connection': Node(connection=EapiConnection(transport=https://3.131.34.190:443//command-api)), 'name': 'kg-topology-CloudEOSEdge2', 'output': {'interface_list': [{'hostname': 'kg-topology-CloudEOSEdge2', 'interface_name': 'Ethernet1', 'z_hostname': 'spine01', 'z_interface_name': 'Ethernet2', 'media_type': ''}, {'hostname': 'kg-topology-CloudEOSEdge2', 'interface_name': 'Ethernet2', 'z_hostname': 'leaf01', 'z_interface_name': 'Ethernet2', 'media_type': ''}], 'show interfaces status': {'json': {'interfaceStatuses': {'Ethernet2.102': {'vlanInformation': {'interfaceMode': 'encap', 'vlanId': 102, 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': 'dot1q-encapsulation', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'encapsulation': {'encapsulationType': 'dot1q', 'dot1qVlanTags': [102]}, 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet2': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet100': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 10000000000, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet1': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}}}, 'text': 'Port Name Status Vlan Duplex Speed Type Flags Encapsulation\nEt1 connected routed full unconf 10/100/1000 \nEt2 connected routed full unconf 10/100/1000 \nEt2.102 connected routed full unconf dot1q-encapsulation 102 \nEt100 connected routed full 10G 10/100/1000 \n\n'}, 'show interfaces phy detail': {'json': {'interfacePhyStatuses': {}}, 'text': ''}, 'show hostname': {'json': {'fqdn': 'kg-topology-CloudEOSEdge2', 'hostname': 'kg-topology-CloudEOSEdge2'}, 'text': 'Hostname: kg-topology-CloudEOSEdge2\nFQDN: kg-topology-CloudEOSEdge2\n'}, 'show extensions': {'json': {'extensions': {'awslogs.swix': {'status': 'installed', 'vendor': 'Amazon <UNKNOWN>', 'description': ' awsclicwlogs This awscli plugin provides the pull, push and filter commands to\naccess AWS CloudWatch Logs service. The awsclicwlogs package works on Python\nversions:* 2.6.5 and greater * 2.7.x and greater * 3.3.x and greater\nInstallation The easiest way to install awsclicwlogs is to use pip_:: $ pip\ninstall awsclicwlogsor, if you are not installing in a virtualenv:: $ sudo pip\ninstall ...', 'presence': 'present', 'rpms': {'awslogs.noarch.rpm': {'release': '1.el7', 'version': '1.4.0'}}, 'summary': 'AWSCLI CloudWatch Logs plugin', 'version': '1.4.0', 'numRpms': 1, 'error': False, 'release': '1.el7', 'installedSize': 23414055}, 'awsha.rpm': {'status': 'installed', 'vendor': '', 'description': 'Aws HA', 'presence': 'present', 'rpms': {'awsha.rpm': {'release': '1', 'version': '0.1.1'}}, 'summary': 'Aws HA', 'version': '0.1.1', 'numRpms': 1, 'error': False, 'release': '1', 'installedSize': 10073042}}}, 'text': 'Name Version/Release Status Extension\n----------------- -------------------- ----------- ---------\nawsha.rpm 0.1.1/1 A, I 1 \nawslogs.swix 1.4.0/1.el7 A, I 1 \n\n\nA: available | NA: not available | I: installed | NI: not installed | F: forced\nS: valid signature | NS: invalid signature\n'}, 'show version': {'json': {'memTotal': 7761392, 'uptime': 2387703.57, 'modelName': 'vEOS', 'internalVersion': '4.23.1F-cloud-16179785.jakartarel', 'mfgName': 'Arista', 'serialNumber': 'DE52F26D16E91F22BB1B507175C8C765', 'systemMacAddress': '06:35:02:ca:82:97', 'bootupTimestamp': 1597281468.0, 'memFree': 2856592, 'version': '4.23.1F-cloud-16179785.jakartarel (engineering build)', 'configMacAddress': '00:00:00:00:00:00', 'isIntlVersion': False, 'internalBuildId': '6bc96200-86c1-4e86-bed7-8280a6802809', 'hardwareRevision': '', 'hwMacAddress': '00:00:00:00:00:00', 'architecture': 'x86_64'}, 'text': 'Arista vEOS\nHardware version: \nSerial number: DE52F26D16E91F22BB1B507175C8C765\nSystem MAC address: 0635.02ca.8297\n\nSoftware image version: 4.23.1F-cloud-16179785.jakartarel (engineering build)\nArchitecture: x86_64\nInternal build version: 4.23.1F-cloud-16179785.jakartarel\nInternal build ID: 6bc96200-86c1-4e86-bed7-8280a6802809\n\nUptime: 3 weeks, 6 days, 15 hours and 15 minutes\nTotal memory: 7761392 kB\nFree memory: 2856712 kB\n\n'}, 'show processes': {'json': {'processes': {'2025': {'totalActiveTime': 2422222, 'memPct': 3.7, 'cpuPct': 101.0, 'startTime': 1597281547.0, 'cmd': 'Sfe', 'state': 'Sl', 'ttyName': '?'}, '1675': {'totalActiveTime': 61391, 'memPct': 2.1, 'cpuPct': 2.5, 'startTime': 1597281532.0, 'cmd': '/usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.15.101 -taillogs -grpcaddr=0.0.0.0:6042', 'state': 'Sl', 'ttyName': '?'}, '22112': {'totalActiveTime': 4299, 'memPct': 0.6, 'cpuPct': 0.5, 'startTime': 1598942707.0, 'cmd': 'python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config', 'state': 'SNl', 'ttyName': '?'}, '1476': {'totalActiveTime': 7377, 'memPct': 2.6, 'cpuPct': 0.3, 'startTime': 1597281508.0, 'cmd': 'Sysdb', 'state': 'S', 'ttyName': '?'}, '1518': {'totalActiveTime': 8624, 'memPct': 7.5, 'cpuPct': 0.3, 'startTime': 1597281511.0, 'cmd': 'ConfigAgent', 'state': 'Sl', 'ttyName': '?'}, '1243': {'totalActiveTime': 5897, 'memPct': 0.9, 'cpuPct': 0.2, 'startTime': 1597281493.0, 'cmd': 'ProcMgr-worker', 'state': 'S', 'ttyName': '?'}, '1951': {'totalActiveTime': 4882, 'memPct': 1.7, 'cpuPct': 0.2, 'startTime': 1597281544.0, 'cmd': 'IpRib', 'state': 'S', 'ttyName': '?'}, '1703': {'totalActiveTime': 3048, 'memPct': 1.7, 'cpuPct': 0.1, 'startTime': 1597281534.0, 'cmd': 'SuperServer', 'state': 'S', 'ttyName': '?'}, '1719': {'totalActiveTime': 2540, 'memPct': 1.2, 'cpuPct': 0.1, 'startTime': 1597281536.0, 'cmd': 'StpTxRx', 'state': 'S', 'ttyName': '?'}, '1727': {'totalActiveTime': 4700, 'memPct': 1.0, 'cpuPct': 0.1, 'startTime': 1597281536.0, 'cmd': 'AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1980': {'totalActiveTime': 3016, 'memPct': 2.3, 'cpuPct': 0.1, 'startTime': 1597281546.0, 'cmd': 'Bgp', 'state': 'Sl', 'ttyName': '?'}, '3369': {'totalActiveTime': 4608, 'memPct': 1.4, 'cpuPct': 0.1, 'startTime': 1597281726.0, 'cmd': 'Fhrp', 'state': 'S', 'ttyName': '?'}, '1': {'totalActiveTime': 353, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '/sbin/init', 'state': 'Ss', 'ttyName': '?'}, '2': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kthreadd]', 'state': 'S', 'ttyName': '?'}, '3': {'totalActiveTime': 14, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ksoftirqd/0]', 'state': 'S', 'ttyName': '?'}, '5': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/0:0H]', 'state': 'S<', 'ttyName': '?'}, '7': {'totalActiveTime': 24, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[rcu_preempt]', 'state': 'S', 'ttyName': '?'}, '8': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[rcu_sched]', 'state': 'S', 'ttyName': '?'}, '9': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[rcu_bh]', 'state': 'S', 'ttyName': '?'}, '10': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[migration/0]', 'state': 'S', 'ttyName': '?'}, '11': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[lru-add-drain]', 'state': 'S<', 'ttyName': '?'}, '12': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[watchdog/0]', 'state': 'S', 'ttyName': '?'}, '13': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[cpuhp/0]', 'state': 'S', 'ttyName': '?'}, '14': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[cpuhp/1]', 'state': 'S', 'ttyName': '?'}, '15': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[watchdog/1]', 'state': 'S', 'ttyName': '?'}, '16': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[migration/1]', 'state': 'S', 'ttyName': '?'}, '17': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ksoftirqd/1]', 'state': 'S', 'ttyName': '?'}, '18': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/1:0]', 'state': 'S', 'ttyName': '?'}, '19': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/1:0H]', 'state': 'S<', 'ttyName': '?'}, '20': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[cpuhp/2]', 'state': 'S', 'ttyName': '?'}, '21': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[watchdog/2]', 'state': 'S', 'ttyName': '?'}, '22': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[migration/2]', 'state': 'S', 'ttyName': '?'}, '23': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ksoftirqd/2]', 'state': 'S', 'ttyName': '?'}, '24': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/2:0]', 'state': 'S', 'ttyName': '?'}, '25': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/2:0H]', 'state': 'S<', 'ttyName': '?'}, '26': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[cpuhp/3]', 'state': 'S', 'ttyName': '?'}, '27': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[watchdog/3]', 'state': 'S', 'ttyName': '?'}, '28': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[migration/3]', 'state': 'S', 'ttyName': '?'}, '29': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ksoftirqd/3]', 'state': 'S', 'ttyName': '?'}, '30': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/3:0]', 'state': 'S', 'ttyName': '?'}, '31': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/3:0H]', 'state': 'S<', 'ttyName': '?'}, '32': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kdevtmpfs]', 'state': 'S', 'ttyName': '?'}, '33': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[netns]', 'state': 'S<', 'ttyName': '?'}, '34': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[khungtaskd]', 'state': 'S', 'ttyName': '?'}, '35': {'totalActiveTime': 13, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[khungtaskd2]', 'state': 'S', 'ttyName': '?'}, '36': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[oom_reaper]', 'state': 'S', 'ttyName': '?'}, '37': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[writeback]', 'state': 'S<', 'ttyName': '?'}, '38': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kcompactd0]', 'state': 'S', 'ttyName': '?'}, '39': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[crypto]', 'state': 'S<', 'ttyName': '?'}, '40': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kintegrityd]', 'state': 'S<', 'ttyName': '?'}, '41': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '42': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kblockd]', 'state': 'S<', 'ttyName': '?'}, '43': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ata_sff]', 'state': 'S<', 'ttyName': '?'}, '44': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[edac-poller]', 'state': 'S<', 'ttyName': '?'}, '45': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[dst_gc_task]', 'state': 'S', 'ttyName': '?'}, '46': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[watchdogd]', 'state': 'S<', 'ttyName': '?'}, '47': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[arp_cache-prd]', 'state': 'S', 'ttyName': '?'}, '49': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[icmp_unreachabl]', 'state': 'S', 'ttyName': '?'}, '50': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[rpciod]', 'state': 'S<', 'ttyName': '?'}, '51': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[xprtiod]', 'state': 'S<', 'ttyName': '?'}, '52': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kswapd0]', 'state': 'S', 'ttyName': '?'}, '53': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[vmstat]', 'state': 'S<', 'ttyName': '?'}, '54': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[nfsiod]', 'state': 'S<', 'ttyName': '?'}, '63': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[pcielwd]', 'state': 'S<', 'ttyName': '?'}, '64': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '65': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '66': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '67': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '68': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '69': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '70': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '71': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '72': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[nvme]', 'state': 'S<', 'ttyName': '?'}, '73': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/u8:1]', 'state': 'S', 'ttyName': '?'}, '74': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ndisc_cache-prd]', 'state': 'S', 'ttyName': '?'}, '75': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ipv6_addrconf]', 'state': 'S<', 'ttyName': '?'}, '76': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ecc_log_wq]', 'state': 'S<', 'ttyName': '?'}, '124': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '125': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '171': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[jbd2/nvme0n1p1-]', 'state': 'S', 'ttyName': '?'}, '172': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ext4-rsv-conver]', 'state': 'S<', 'ttyName': '?'}, '194': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '[kworker/0:1H]', 'state': 'S<', 'ttyName': '?'}, '272': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': '[loop0]', 'state': 'S<', 'ttyName': '?'}, '378': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281476.0, 'cmd': '/usr/lib/systemd/systemd-udevd', 'state': 'Ss', 'ttyName': '?'}, '410': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281476.0, 'cmd': '/usr/sbin/lvmetad -f', 'state': 'Ss', 'ttyName': '?'}, '497': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': '[ena]', 'state': 'S<', 'ttyName': '?'}, '746': {'totalActiveTime': 168, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': '/usr/lib/systemd/systemd-logind', 'state': 'Ss', 'ttyName': '?'}, '752': {'totalActiveTime': 49, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': '/usr/bin/ProcMonitor', 'state': 'Ss', 'ttyName': '?'}, '762': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': '/usr/sbin/mcelog --ignorenodev --daemon --foreground', 'state': 'Ss', 'ttyName': '?'}, '770': {'totalActiveTime': 257, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': '/usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation', 'state': 'Ss', 'ttyName': '?'}, '784': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281478.0, 'cmd': '[kworker/1:1]', 'state': 'S', 'ttyName': '?'}, '790': {'totalActiveTime': 4, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281478.0, 'cmd': '/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid', 'state': 'Ss', 'ttyName': '?'}, '880': {'totalActiveTime': 16, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281479.0, 'cmd': '/usr/sbin/crond -n', 'state': 'Ss', 'ttyName': '?'}, '889': {'totalActiveTime': 20, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281479.0, 'cmd': '/usr/bin/wdogdev -t 60', 'state': 'S<s', 'ttyName': '?'}, '998': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281480.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local', 'state': 'S', 'ttyName': '?'}, '1000': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281480.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/0'}, '1015': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281480.0, 'cmd': '/usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil', 'state': 'Ss', 'ttyName': '?'}, '1019': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281481.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys', 'state': 'S', 'ttyName': '?'}, '1021': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281481.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/1'}, '1030': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281481.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure', 'state': 'S', 'ttyName': '?'}, '1031': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281481.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/2'}, '1062': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281482.0, 'cmd': '/bin/bash /usr/sbin/core_annotate_util daemon', 'state': 'Ss', 'ttyName': '?'}, '1189': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281487.0, 'cmd': 'python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1190': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281487.0, 'cmd': '/usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1224': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281487.0, 'cmd': 'inotifywait -e modify /var/lib/rpm', 'state': 'S', 'ttyName': '?'}, '1226': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281493.0, 'cmd': 'netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1228': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281493.0, 'cmd': 'netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1242': {'totalActiveTime': 0, 'memPct': 0.9, 'cpuPct': 0.0, 'startTime': 1597281493.0, 'cmd': 'ProcMgr-master', 'state': 'S', 'ttyName': '?'}, '1415': {'totalActiveTime': 554, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281507.0, 'cmd': '/usr/bin/EosOomAdjust', 'state': 'S', 'ttyName': '?'}, '1423': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281508.0, 'cmd': '[rbfd_vrf_cleanu]', 'state': 'S', 'ttyName': '?'}, '1438': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281508.0, 'cmd': '/usr/sbin/acpid', 'state': 'Ss', 'ttyName': '?'}, '1475': {'totalActiveTime': 130, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281508.0, 'cmd': '/usr/bin/SlabMonitor', 'state': 'S', 'ttyName': '?'}, '1517': {'totalActiveTime': 284, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281511.0, 'cmd': 'StageMgr', 'state': 'S', 'ttyName': '?'}, '1521': {'totalActiveTime': 1003, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281511.0, 'cmd': 'Fru', 'state': 'S', 'ttyName': '?'}, '1524': {'totalActiveTime': 467, 'memPct': 1.8, 'cpuPct': 0.0, 'startTime': 1597281512.0, 'cmd': 'Launcher', 'state': 'S', 'ttyName': '?'}, '1651': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=Lldp --demuxerOpts=279603612376,279603122369,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp', 'state': 'S', 'ttyName': '?'}, '1653': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1654': {'totalActiveTime': 1367, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'Lldp', 'state': 'S', 'ttyName': '?'}, '1657': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=McastCommon --demuxerOpts=279725388188,279650445982,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon', 'state': 'S', 'ttyName': '?'}, '1659': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1661': {'totalActiveTime': 1014, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'McastCommon', 'state': 'S', 'ttyName': '?'}, '1665': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=PortSec --demuxerOpts=279886274558,279754810922,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec', 'state': 'S', 'ttyName': '?'}, '1666': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1668': {'totalActiveTime': 1106, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'PortSec', 'state': 'S', 'ttyName': '?'}, '1669': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': '[kworker/1:1H]', 'state': 'S<', 'ttyName': '?'}, '1696': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netns --agenttitle=Bfd --demuxerOpts=283657265762,283482593841,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd', 'state': 'S', 'ttyName': '?'}, '1698': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1699': {'totalActiveTime': 1080, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'Bfd', 'state': 'S', 'ttyName': '?'}, '1700': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netns --agenttitle=Lag --demuxerOpts=287819325384,287795062523,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag', 'state': 'S', 'ttyName': '?'}, '1701': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1702': {'totalActiveTime': 1998, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'Lag', 'state': 'S', 'ttyName': '?'}, '1707': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netns --agenttitle=Ira --demuxerOpts=288347310924,288297455705,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira', 'state': 'S', 'ttyName': '?'}, '1708': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1709': {'totalActiveTime': 1025, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'Ira', 'state': 'S', 'ttyName': '?'}, '1710': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netns --agenttitle=LedPolicy --demuxerOpts=292586167457,292268884394,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy', 'state': 'S', 'ttyName': '?'}, '1712': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1713': {'totalActiveTime': 1211, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'LedPolicy', 'state': 'S', 'ttyName': '?'}, '1714': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netns --agenttitle=EventMgr --demuxerOpts=292780957018,292649411528,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr', 'state': 'S', 'ttyName': '?'}, '1715': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1716': {'totalActiveTime': 1341, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'EventMgr', 'state': 'S', 'ttyName': '?'}, '1717': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netns --agenttitle=StpTxRx --demuxerOpts=293034015438,292843558270,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx', 'state': 'S', 'ttyName': '?'}, '1718': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1721': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=StandbyCpld --demuxerOpts=296572620123,296400986578,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1723': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1724': {'totalActiveTime': 286, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1725': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=AgentMonitor --demuxerOpts=296770445824,296638057211,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1726': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1729': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=Tunnel --demuxerOpts=296984960239,296854805708,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel', 'state': 'S', 'ttyName': '?'}, '1730': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1731': {'totalActiveTime': 462, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'Tunnel', 'state': 'S', 'ttyName': '?'}, '1732': {'totalActiveTime': 712, 'memPct': 1.6, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'Aaa', 'state': 'Sl', 'ttyName': '?'}, '1734': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netns --agenttitle=StpTopology --demuxerOpts=300919938207,300696082381,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology', 'state': 'S', 'ttyName': '?'}, '1735': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1736': {'totalActiveTime': 1020, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'StpTopology', 'state': 'S', 'ttyName': '?'}, '1738': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netns --agenttitle=Acl --demuxerOpts=301331916824,300996693213,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl', 'state': 'S', 'ttyName': '?'}, '1741': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1743': {'totalActiveTime': 2217, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'Acl', 'state': 'S', 'ttyName': '?'}, '1753': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netns --agenttitle=Stp --demuxerOpts=305107266403,301413423552,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp', 'state': 'S', 'ttyName': '?'}, '1756': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1759': {'totalActiveTime': 1645, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'Stp', 'state': 'S', 'ttyName': '?'}, '1776': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netns --agenttitle=KernelNetworkInfo --demuxerOpts=305360891096,305329042634,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1778': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1780': {'totalActiveTime': 335, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1785': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netns --agenttitle=McastCommon6 --demuxerOpts=305785444216,305760706994,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6', 'state': 'S', 'ttyName': '?'}, '1788': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1789': {'totalActiveTime': 1017, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'McastCommon6', 'state': 'S', 'ttyName': '?'}, '1799': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netns --agenttitle=LacpTxAgent --demuxerOpts=309366624983,309362176094,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1803': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1805': {'totalActiveTime': 1027, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1816': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'netns --agenttitle=Arp --demuxerOpts=310181868541,309815745751,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp', 'state': 'S', 'ttyName': '?'}, '1820': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1823': {'totalActiveTime': 1511, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'Arp', 'state': 'S', 'ttyName': '?'}, '1838': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'netns --agenttitle=KernelFib --demuxerOpts=314049547173,313613369111,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib', 'state': 'S', 'ttyName': '?'}, '1843': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1846': {'totalActiveTime': 1023, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'KernelFib', 'state': 'S', 'ttyName': '?'}, '1848': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'netns --agenttitle=Qos --demuxerOpts=314264185905,314224873925,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos', 'state': 'S', 'ttyName': '?'}, '1851': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netns --agenttitle=Thermostat --demuxerOpts=318320799164,318320334301,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat', 'state': 'S', 'ttyName': '?'}, '1852': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1854': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1855': {'totalActiveTime': 1152, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'Qos', 'state': 'S', 'ttyName': '?'}, '1856': {'totalActiveTime': 335, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'Thermostat', 'state': 'S', 'ttyName': '?'}, '1857': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netns --agenttitle=L2Rib --demuxerOpts=318504392051,318402053905,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib', 'state': 'S', 'ttyName': '?'}, '1860': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1861': {'totalActiveTime': 337, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'L2Rib', 'state': 'S', 'ttyName': '?'}, '1862': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netns --agenttitle=TopoAgent --demuxerOpts=318751447473,318604181270,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled', 'state': 'S', 'ttyName': '?'}, '1863': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1864': {'totalActiveTime': 1017, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'TopoAgent', 'state': 'S', 'ttyName': '?'}, '1866': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'netns --agenttitle=PowerFuse --demuxerOpts=322455034859,322155642338,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse', 'state': 'S', 'ttyName': '?'}, '1867': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1868': {'totalActiveTime': 285, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'PowerFuse', 'state': 'S', 'ttyName': '?'}, '1869': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'netns --agenttitle=PowerManager --demuxerOpts=322587808158,322578809808,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager', 'state': 'S', 'ttyName': '?'}, '1870': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1871': {'totalActiveTime': 285, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'PowerManager', 'state': 'S', 'ttyName': '?'}, '1873': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'netns --agenttitle=Ebra --demuxerOpts=323042777435,322918823692,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra', 'state': 'S', 'ttyName': '?'}, '1874': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1877': {'totalActiveTime': 1307, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'Ebra', 'state': 'S', 'ttyName': '?'}, '1891': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'netns --agenttitle=ReloadCauseAgent --demuxerOpts=326873611161,326505655736,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1892': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1893': {'totalActiveTime': 286, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1894': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'netns --agenttitle=SharedSecretProfile --demuxerOpts=327049023399,326947638167,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1899': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1901': {'totalActiveTime': 285, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1905': {'totalActiveTime': 1031, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'IgmpSnooping', 'state': 'S', 'ttyName': '?'}, '1934': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281544.0, 'cmd': 'netns --agenttitle=StaticRoute --demuxerOpts=331109407249,331039454504,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled', 'state': 'S', 'ttyName': '?'}, '1937': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281544.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1944': {'totalActiveTime': 336, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281544.0, 'cmd': 'StaticRoute', 'state': 'S', 'ttyName': '?'}, '1949': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281544.0, 'cmd': 'netns --agenttitle=IpRib --demuxerOpts=331478251055,331216741841,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled', 'state': 'S', 'ttyName': '?'}, '1950': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281544.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1953': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': 'netns --agenttitle=BgpCliHelper --demuxerOpts=331572043702,331571419321,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled', 'state': 'S', 'ttyName': '?'}, '1954': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1956': {'totalActiveTime': 344, 'memPct': 1.9, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': 'BgpCliHelper', 'state': 'S', 'ttyName': '?'}, '1957': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': 'netns --agenttitle=ConnectedRoute --demuxerOpts=335410314406,335272307760,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '1958': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1959': {'totalActiveTime': 1028, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': 'ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '1962': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281546.0, 'cmd': 'netns --agenttitle=RouteInput --demuxerOpts=335932354218,335526352897,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput', 'state': 'S', 'ttyName': '?'}, '1963': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281546.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1968': {'totalActiveTime': 337, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281546.0, 'cmd': 'RouteInput', 'state': 'S', 'ttyName': '?'}, '2011': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281547.0, 'cmd': 'netns --agenttitle=Sfe --demuxerOpts=343638383733,339942676958,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe', 'state': 'S', 'ttyName': '?'}, '2014': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281547.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2319': {'totalActiveTime': 25, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': '/usr/sbin/rsyslogd -n', 'state': 'Ssl', 'ttyName': '?'}, '2592': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281557.0, 'cmd': 'netns --agenttitle=LicenseManager --demuxerOpts=387516644822,387516174371,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager', 'state': 'S', 'ttyName': '?'}, '2596': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281558.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2597': {'totalActiveTime': 287, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281558.0, 'cmd': 'LicenseManager', 'state': 'S', 'ttyName': '?'}, '2614': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281559.0, 'cmd': '/usr/bin/conlogd', 'state': 'S', 'ttyName': '?'}, '2615': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281559.0, 'cmd': '/sbin/agetty --noclear tty1 linux', 'state': 'Ss+', 'ttyName': 'tty1'}, '2616': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281559.0, 'cmd': '/sbin/mingetty --noclear /dev/ttyS0', 'state': 'Ss+', 'ttyName': 'ttyS0'}, '2633': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281560.0, 'cmd': "sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2614 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'", 'state': 'S', 'ttyName': '?'}, '2638': {'totalActiveTime': 53, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281560.0, 'cmd': '/usr/bin/tail -n 0 --retry --follow=name --pid=2614 /var/log/eos-console', 'state': 'S', 'ttyName': '?'}, '2639': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281560.0, 'cmd': 'sed s/\\(.*\\)/\\1\\r/', 'state': 'S', 'ttyName': '?'}, '2666': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281561.0, 'cmd': '[SuperServer] <defunct>', 'state': 'Zs', 'ttyName': '?'}, '2695': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281562.0, 'cmd': 'netns --agenttitle=Ipsec --demuxerOpts=408586225606,408585707942,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec', 'state': 'S', 'ttyName': '?'}, '2696': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281562.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2697': {'totalActiveTime': 2124, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281562.0, 'cmd': 'Ipsec', 'state': 'S', 'ttyName': '?'}, '2699': {'totalActiveTime': 1, 'memPct': 0.4, 'cpuPct': 0.0, 'startTime': 1597281562.0, 'cmd': 'dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1', 'state': 'Ss', 'ttyName': '?'}, '2726': {'totalActiveTime': 131, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281564.0, 'cmd': 'ntpd -u ntp:ntp -g -p /var/run/ntpd.pid', 'state': 'Ssl', 'ttyName': '?'}, '2730': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281567.0, 'cmd': 'fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc', 'state': 'Ss', 'ttyName': '?'}, '3232': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281723.0, 'cmd': 'netns --agenttitle=Nat --demuxerOpts=1099846842576,1099845884354,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Nat', 'state': 'S', 'ttyName': '?'}, '3237': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281723.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3242': {'totalActiveTime': 2111, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281723.0, 'cmd': 'Nat', 'state': 'S', 'ttyName': '?'}, '3254': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281723.0, 'cmd': 'netns --agenttitle=Vxlan --demuxerOpts=1100211266267,1100011505404,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Vxlan', 'state': 'S', 'ttyName': '?'}, '3257': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281723.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3263': {'totalActiveTime': 1075, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281723.0, 'cmd': 'Vxlan', 'state': 'S', 'ttyName': '?'}, '3275': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281724.0, 'cmd': 'netns --agenttitle=VxlanSwFwd --demuxerOpts=1104023511318,1100341538690,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/VxlanSwFwd', 'state': 'S', 'ttyName': '?'}, '3277': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281724.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3278': {'totalActiveTime': 1129, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281724.0, 'cmd': 'VxlanSwFwd', 'state': 'S', 'ttyName': '?'}, '3315': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281725.0, 'cmd': '/usr/libexec/strongswan/starter --daemon charon', 'state': 'Ss', 'ttyName': '?'}, '3317': {'totalActiveTime': 169, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281725.0, 'cmd': '/usr/libexec/strongswan/charon --use-syslog', 'state': 'Ssl', 'ttyName': '?'}, '3367': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281726.0, 'cmd': 'netns --agenttitle=Fhrp --demuxerOpts=1113312651255,1113311572347,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Fhrp --scheduled', 'state': 'S', 'ttyName': '?'}, '3368': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281726.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3856': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281920.0, 'cmd': '[kworker/u8:0]', 'state': 'S', 'ttyName': '?'}, '3977': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281922.0, 'cmd': '/usr/sbin/dnsmasq', 'state': 'S', 'ttyName': '?'}, '14256': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599667860.0, 'cmd': '[kworker/0:0]', 'state': 'S', 'ttyName': '?'}, '16699': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668221.0, 'cmd': '[kworker/0:2]', 'state': 'S', 'ttyName': '?'}, '18091': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668581.0, 'cmd': '[kworker/0:1]', 'state': 'S', 'ttyName': '?'}, '21755': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668940.0, 'cmd': '[kworker/0:3]', 'state': 'S', 'ttyName': '?'}, '22090': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1598942706.0, 'cmd': '/bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh', 'state': 'S', 'ttyName': '?'}, '24384': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669171.0, 'cmd': 'ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww', 'state': 'Rs', 'ttyName': '?'}, '26289': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1598457411.0, 'cmd': 'netns --agenttitle=CapiApp --demuxerOpts=5050641215580694,5050641215085095,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini', 'state': 'S', 'ttyName': '?'}, '26290': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1598457411.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '26291': {'totalActiveTime': 237, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1598457411.0, 'cmd': 'CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Sl', 'ttyName': '?'}, '26335': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1598457412.0, 'cmd': 'nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;', 'state': 'Ss', 'ttyName': '?'}, '26337': {'totalActiveTime': 97, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1598457412.0, 'cmd': 'nginx: worker process ', 'state': 'S', 'ttyName': '?'}}, 'timeInfo': {'upTime': 2387704.19, 'loadAvg': [1.53, 1.43, 1.38], 'users': 0, 'currentTime': 1599669171.905339}}, 'text': " 16:32:52 up 27 days, 15:15, 0 users, load average: 1.53, 1.43, 1.38\n PID %CPU %MEM TT STAT STARTED TIME CMD\n 2025 101 3.7 ? Sl Aug 13 28-00:50:22 Sfe\n 1675 2.5 2.1 ? Sl Aug 13 17:03:11 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.15.101 -taillogs -grpcaddr=0.0.0.0:6042\n22112 0.5 0.6 ? SNl Sep 01 01:11:39 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config\n 1476 0.3 2.6 ? S Aug 13 02:02:57 Sysdb\n 1518 0.3 7.5 ? Sl Aug 13 02:23:44 ConfigAgent\n 1243 0.2 0.9 ? S Aug 13 01:38:17 ProcMgr-worker\n 1951 0.2 1.7 ? S Aug 13 01:21:22 IpRib\n 1703 0.1 1.7 ? S Aug 13 00:50:48 SuperServer\n 1719 0.1 1.2 ? S Aug 13 00:42:20 StpTxRx\n 1727 0.1 1.0 ? S Aug 13 01:18:20 AgentMonitor\n 1980 0.1 2.3 ? Sl Aug 13 00:50:16 Bgp\n 3369 0.1 1.4 ? S Aug 13 01:16:48 Fhrp\n 1 0.0 0.0 ? Ss Aug 13 00:05:53 /sbin/init\n 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd]\n 3 0.0 0.0 ? S Aug 13 00:00:14 [ksoftirqd/0]\n 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H]\n 7 0.0 0.0 ? S Aug 13 00:00:24 [rcu_preempt]\n 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched]\n 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh]\n 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0]\n 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain]\n 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0]\n 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0]\n 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1]\n 15 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/1]\n 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1]\n 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1]\n 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0]\n 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H]\n 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2]\n 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2]\n 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2]\n 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2]\n 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0]\n 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H]\n 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3]\n 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3]\n 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3]\n 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3]\n 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0]\n 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H]\n 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs]\n 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns]\n 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd]\n 35 0.0 0.0 ? S Aug 13 00:00:13 [khungtaskd2]\n 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper]\n 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback]\n 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0]\n 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto]\n 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd]\n 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd]\n 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff]\n 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller]\n 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task]\n 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd]\n 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd]\n 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl]\n 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod]\n 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod]\n 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0]\n 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat]\n 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod]\n 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd]\n 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme]\n 73 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:1]\n 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd]\n 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf]\n 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq]\n 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-]\n 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver]\n 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H]\n 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0]\n 378 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd\n 410 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f\n 497 0.0 0.0 ? S< Aug 13 00:00:00 [ena]\n 746 0.0 0.0 ? Ss Aug 13 00:02:48 /usr/lib/systemd/systemd-logind\n 752 0.0 0.0 ? Ss Aug 13 00:00:49 /usr/bin/ProcMonitor\n 762 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground\n 770 0.0 0.1 ? Ss Aug 13 00:04:17 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation\n 784 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1]\n 790 0.0 0.0 ? Ss Aug 13 00:00:04 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid\n 880 0.0 0.0 ? Ss Aug 13 00:00:16 /usr/sbin/crond -n\n 889 0.0 0.0 ? S<s Aug 13 00:00:20 /usr/bin/wdogdev -t 60\n 998 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local\n 1000 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1015 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil\n 1019 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys\n 1021 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1030 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure\n 1031 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1062 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon\n 1189 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1190 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1224 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm\n 1226 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1228 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1242 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master\n 1415 0.0 0.0 ? S Aug 13 00:09:14 /usr/bin/EosOomAdjust\n 1423 0.0 0.0 ? S Aug 13 00:00:02 [rbfd_vrf_cleanu]\n 1438 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid\n 1475 0.0 0.0 ? S Aug 13 00:02:10 /usr/bin/SlabMonitor\n 1517 0.0 1.2 ? S Aug 13 00:04:44 StageMgr\n 1521 0.0 1.4 ? S Aug 13 00:16:43 Fru\n 1524 0.0 1.8 ? S Aug 13 00:07:47 Launcher\n 1651 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=279603612376,279603122369,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp\n 1653 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1654 0.0 1.3 ? S Aug 13 00:22:47 Lldp\n 1657 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=279725388188,279650445982,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon\n 1659 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1661 0.0 1.2 ? S Aug 13 00:16:54 McastCommon\n 1665 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=279886274558,279754810922,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec\n 1666 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1668 0.0 1.1 ? S Aug 13 00:18:26 PortSec\n 1669 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H]\n 1696 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=283657265762,283482593841,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd\n 1698 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1699 0.0 1.4 ? S Aug 13 00:18:00 Bfd\n 1700 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=287819325384,287795062523,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag\n 1701 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1702 0.0 1.3 ? S Aug 13 00:33:18 Lag\n 1707 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=288347310924,288297455705,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira\n 1708 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1709 0.0 1.5 ? S Aug 13 00:17:05 Ira\n 1710 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=292586167457,292268884394,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy\n 1712 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1713 0.0 1.2 ? S Aug 13 00:20:11 LedPolicy\n 1714 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=292780957018,292649411528,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr\n 1715 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1716 0.0 1.3 ? S Aug 13 00:22:21 EventMgr\n 1717 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=293034015438,292843558270,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx\n 1718 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1721 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=296572620123,296400986578,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld\n 1723 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1724 0.0 1.1 ? S Aug 13 00:04:46 StandbyCpld\n 1725 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=296770445824,296638057211,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor\n 1726 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1729 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=296984960239,296854805708,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel\n 1730 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1731 0.0 1.2 ? S Aug 13 00:07:42 Tunnel\n 1732 0.0 1.6 ? Sl Aug 13 00:11:52 Aaa\n 1734 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=300919938207,300696082381,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology\n 1735 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1736 0.0 1.2 ? S Aug 13 00:17:00 StpTopology\n 1738 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=301331916824,300996693213,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl\n 1741 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1743 0.0 1.4 ? S Aug 13 00:36:57 Acl\n 1753 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=305107266403,301413423552,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp\n 1756 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1759 0.0 1.1 ? S Aug 13 00:27:25 Stp\n 1776 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=305360891096,305329042634,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo\n 1778 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1780 0.0 1.1 ? S Aug 13 00:05:35 KernelNetworkInfo\n 1785 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=305785444216,305760706994,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6\n 1788 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1789 0.0 1.2 ? S Aug 13 00:16:57 McastCommon6\n 1799 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=309366624983,309362176094,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent\n 1803 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1805 0.0 1.2 ? S Aug 13 00:17:07 LacpTxAgent\n 1816 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=310181868541,309815745751,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp\n 1820 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1823 0.0 1.5 ? S Aug 13 00:25:11 Arp\n 1838 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=314049547173,313613369111,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib\n 1843 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1846 0.0 1.4 ? S Aug 13 00:17:03 KernelFib\n 1848 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=314264185905,314224873925,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos\n 1851 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=318320799164,318320334301,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat\n 1852 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1854 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1855 0.0 1.2 ? S Aug 13 00:19:12 Qos\n 1856 0.0 1.1 ? S Aug 13 00:05:35 Thermostat\n 1857 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=318504392051,318402053905,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib\n 1860 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1861 0.0 1.2 ? S Aug 13 00:05:37 L2Rib\n 1862 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=318751447473,318604181270,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled\n 1863 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1864 0.0 1.2 ? S Aug 13 00:16:57 TopoAgent\n 1866 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=322455034859,322155642338,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse\n 1867 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1868 0.0 1.1 ? S Aug 13 00:04:45 PowerFuse\n 1869 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=322587808158,322578809808,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager\n 1870 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1871 0.0 1.1 ? S Aug 13 00:04:45 PowerManager\n 1873 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=323042777435,322918823692,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra\n 1874 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1877 0.0 1.4 ? S Aug 13 00:21:47 Ebra\n 1891 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=326873611161,326505655736,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent\n 1892 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1893 0.0 1.1 ? S Aug 13 00:04:46 ReloadCauseAgent\n 1894 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=327049023399,326947638167,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile\n 1899 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1901 0.0 1.1 ? S Aug 13 00:04:45 SharedSecretProfile\n 1905 0.0 1.5 ? S Aug 13 00:17:11 IgmpSnooping\n 1934 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=331109407249,331039454504,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled\n 1937 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1944 0.0 1.3 ? S Aug 13 00:05:36 StaticRoute\n 1949 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=331478251055,331216741841,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled\n 1950 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1953 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=331572043702,331571419321,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled\n 1954 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1956 0.0 1.9 ? S Aug 13 00:05:44 BgpCliHelper\n 1957 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=335410314406,335272307760,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute\n 1958 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1959 0.0 1.3 ? S Aug 13 00:17:08 ConnectedRoute\n 1962 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=335932354218,335526352897,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput\n 1963 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1968 0.0 1.3 ? S Aug 13 00:05:37 RouteInput\n 2011 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=343638383733,339942676958,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe\n 2014 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2319 0.0 0.0 ? Ssl Aug 13 00:00:25 /usr/sbin/rsyslogd -n\n 2592 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=387516644822,387516174371,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager\n 2596 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2597 0.0 1.1 ? S Aug 13 00:04:47 LicenseManager\n 2614 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd\n 2615 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux\n 2616 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0\n 2633 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2614 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'\n 2638 0.0 0.0 ? S Aug 13 00:00:53 /usr/bin/tail -n 0 --retry --follow=name --pid=2614 /var/log/eos-console\n 2639 0.0 0.0 ? S Aug 13 00:00:00 sed s/\\(.*\\)/\\1\\r/\n 2666 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct>\n 2695 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=408586225606,408585707942,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec\n 2696 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2697 0.0 1.2 ? S Aug 13 00:35:24 Ipsec\n 2699 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1\n 2726 0.0 0.1 ? Ssl Aug 13 00:02:11 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid\n 2730 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc\n 3232 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Nat --demuxerOpts=1099846842576,1099845884354,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Nat\n 3237 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3242 0.0 1.2 ? S Aug 13 00:35:11 Nat\n 3254 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Vxlan --demuxerOpts=1100211266267,1100011505404,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Vxlan\n 3257 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3263 0.0 1.4 ? S Aug 13 00:17:55 Vxlan\n 3275 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=VxlanSwFwd --demuxerOpts=1104023511318,1100341538690,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/VxlanSwFwd\n 3277 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3278 0.0 1.4 ? S Aug 13 00:18:49 VxlanSwFwd\n 3315 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon\n 3317 0.0 0.1 ? Ssl Aug 13 00:02:49 /usr/libexec/strongswan/charon --use-syslog\n 3367 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Fhrp --demuxerOpts=1113312651255,1113311572347,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Fhrp --scheduled\n 3368 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3856 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:0]\n 3977 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq\n14256 0.0 0.0 ? S 16:11:00 00:00:00 [kworker/0:0]\n16699 0.0 0.0 ? S 16:17:01 00:00:00 [kworker/0:2]\n18091 0.0 0.0 ? S 16:23:01 00:00:00 [kworker/0:1]\n21755 0.0 0.0 ? S 16:29:00 00:00:00 [kworker/0:3]\n22090 0.0 0.0 ? S Sep 01 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh\n24400 0.0 0.0 ? Rs 16:32:51 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww\n26289 0.0 0.0 ? S Aug 26 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=5050641215580694,5050641215085095,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini\n26290 0.0 0.3 ? Ss Aug 26 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n26291 0.0 1.3 ? Sl Aug 26 00:03:57 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n26335 0.0 0.0 ? Ss Aug 26 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;\n26337 0.0 0.1 ? S Aug 26 00:01:37 nginx: worker process \n"}, 'show running-config section username': {'json': {'output': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'text': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'show aaa counters': {'json': {'authenticationSuccess': 74201, 'authorizationAllowed': 2283, 'accountingSuccess': 0, 'pendingAccountingRequests': 0, 'authorizationDenied': 0, 'authenticationFail': 2, 'authenticationUnavailable': 96, 'accountingError': 0, 'authorizationUnavailable': 0}, 'text': 'Authentication\n Successful: 74206\n Failed: 2\n Service unavailable: 96\n\nAuthorization\n Allowed: 2283\n Denied: 0\n Service unavailable: 0\n\nAccounting\n Successful: 0\n Error: 0\n Pending: 0\n\nLast time counters were cleared: never\n'}, 'show users detail': {'json': {'serials': {}, 'nonInteractives': {'75744': {'username': 'kgrozis', 'state': 'established', 'sessionStartTime': 1599669160, 'role': '', 'service': 'commandApi', 'authMethod': 'local'}}, 'vtys': {}}, 'text': 'Session Username Roles TTY State Duration Auth Remote Host \n-------- --------- ------- ------------- ------- ---------- ------- ----------- \n75744 kgrozis command-api E 0:00:14 local \n'}, 'show aaa methods all': {'json': {'authorization': {'commandsAuthzMethods': {'privilege0-15': {'methods': ['none']}}, 'execAuthzMethods': {'exec': {'methods': ['none']}}}, 'authentication': {'loginAuthenMethods': {'default': {'methods': ['local']}}, 'dot1xAuthenMethods': {'default': {'methods': []}}, 'enableAuthenMethods': {'default': {'methods': ['local']}}}, 'accounting': {'systemAcctMethods': {'system': {'defaultMethods': [], 'consoleMethods': []}}, 'execAcctMethods': {'exec': {'defaultMethods': [], 'consoleMethods': []}}, 'commandsAcctMethods': {'privilege0-15': {'defaultMethods': [], 'consoleMethods': []}}, 'dot1xAcctMethods': {'dot1x': {'defaultMethods': [], 'consoleMethods': []}}}}, 'text': 'Authentication method lists for LOGIN:\n name=default methods=local\nAuthentication method list for ENABLE:\n name=default methods=local\nAuthentication method list for DOT1X:\n name=default methods=\nAuthorization method lists for COMMANDS:\n name=privilege0-15 methods=none\nAuthorization method list for EXEC:\n name=exec methods=none\nAccounting method lists for COMMANDS:\n name=privilege0-15 default-action=none\nAccounting method list for EXEC:\n name=exec default-action=none\nAccounting method list for SYSTEM:\n name=system default-action=none\nAccounting method list for DOT1X:\n name=dot1x default-action=none\n'}, 'show ntp status': {'json': {'status': 'synchronised', 'pollingInterval': 1024, 'stratum': 4, 'maxEstimatedError': 27, 'server': '169.254.169.123'}, 'text': 'synchronised to NTP server (169.254.169.123) at stratum 4\n time correct to within 27 ms\n polling server every 1024 s\n\n'}, 'show ntp associations': {'json': {'peers': {'169.254.169.123': {'delay': 0.164, 'jitter': 0.69, 'lastReceived': 1599668408.0, 'peerType': 'local', 'reachabilityHistory': [True, True, True, True, True, True, True, True], 'condition': 'sys.peer', 'offset': 0.074, 'peerIpAddr': '169.254.169.123', 'pollInterval': 1024, 'refid': '169.254.169.122', 'stratumLevel': 3}}}, 'text': ' remote refid st t when poll reach delay offset jitter\n==============================================================================\n*169.254.169.123 169.254.169.12 3 l 769 1024 377 0.164 0.074 0.69\n'}, 'show daemon': {'json': {'daemons': {'TerminAttr': {'running': True, 'option': {}, 'starttime': 1597281533.685061, 'pid': 1675, 'enabled': True, 'uptime': 2387644.55, 'data': {}, 'isSdkAgent': False}}}, 'text': 'Process: TerminAttr (running with PID 1675)\nUptime: 27 days, 15:14:04 (Start time: Thu Aug 13 01:18:53 2020)\nNo configuration options stored.\n\nNo status data stored.\n\n'}, 'show zerotouch': {'json': {'mode': 'disabled', 'scriptTimeout': 900}, 'text': '\nZeroTouch Mode: Disabled\nScript Exec Timeout: 900\n'}, 'dir flash:zerotouch-config': {'json': {'messages': ['Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7291580416 bytes free)\n']}, 'text': 'Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7291580416 bytes free)\n'}, 'show system environment temperature': {'json': {'cardSlots': [], 'powerSupplySlots': [], 'shutdownOnOverheat': True, 'tempSensors': [], 'systemStatus': 'unknownTemperatureAlarmLevel'}, 'text': 'System temperature status is: Unknown\n'}, 'show system environment cooling': {'json': {'overrideFanSpeed': 0, 'coolingMode': 'automatic', 'powerSupplySlots': [], 'fanTraySlots': [], 'minFanSpeed': 0, 'shutdownOnInsufficientFans': True, 'systemStatus': 'unknownCoolingAlarmLevel', 'airflowDirection': 'unknownAirflowDirection'}, 'text': 'System cooling status is: Unknown\nAmbient temperature: Unknown\n Config Actual Speed Stable\nFan Status Speed Speed Uptime Stability Uptime\n--- ------ ------ ------ ------ --------- ------\n'}, 'show management api http-commands': {'json': {'httpServer': {'running': False, 'configured': False, 'port': 80}, 'users': {'kgrozis': {'requestCount': 67280, 'bytesOut': 193066464, 'lastHitTime': 1599669180.7875922, 'bytesIn': 10883000}}, 'bytesOut': 193066464, 'logLevel': 'none', 'dscpValue': 0, 'corsOrigins': [], 'hitCount': 71680, 'vrf': 'default', 'lastHitTime': 1599669180.7875366, 'tlsProtocol': ['1.0', '1.1', '1.2'], 'localHttpServer': {'running': False, 'configured': False, 'port': 8080}, 'executionTime': 7867.150401368941, 'enabled': True, 'fipsEnabled': False, 'httpsServer': {'running': True, 'configured': True, 'port': 443}, 'requestCount': 67280, 'vrfs': ['default'], 'urls': ['Ethernet1 : https://11.201.15.101:443', 'Ethernet2 : https://11.201.15.201:443', 'Ethernet100 : https://11.201.8.1:443', 'Loopback0 : https://11.201.0.3:443', 'Loopback10 : https://198.18.0.37:443'], 'unixSocketServer': {'running': False, 'configured': False}, 'bytesIn': 10883000, 'commandCount': 134560, 'iframeAncestors': []}, 'text': 'Enabled: Yes\nHTTPS server: running, set to use port 443\nHTTP server: shutdown, set to use port 80\nLocal HTTP server: shutdown, no authentication, set to use port 8080\nUnix Socket server: shutdown, no authentication\nVRFs: default\nHits: 71685\nLast hit: 0 seconds ago\nBytes in: 10883801\nBytes out: 193070251\nRequests: 67285\nCommands: 134570\nDuration: 7867.286 seconds\nSSL Profile: none\nFIPS Mode: No\nQoS DSCP: 0\nLog Level: none\nCSP Frame Ancestor: None\nTLS Protocols: 1.0 1.1 1.2\n User Requests Bytes in Bytes out Last hit \n------------- -------------- -------------- --------------- ------------- \n kgrozis 67285 10883801 193070251 0 seconds ago \n\nURLs \n--------------------------------------- \nEthernet1 : https://11.201.15.101:443 \nEthernet2 : https://11.201.15.201:443 \nEthernet100 : https://11.201.8.1:443 \nLoopback0 : https://11.201.0.3:443 \nLoopback10 : https://198.18.0.37:443 \n\n'}, 'show tacacs': {'json': {'tacacsServers': [], 'groups': {}, 'srcIntf': {}, 'lastCounterClearTime': 0.0}, 'text': '\nLast time counters were cleared: never\n'}, 'show logging': {'json': {'output': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:20 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:40 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:28 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:52 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:11 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:38 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:44 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:44 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:24:03 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:24:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:38 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:56 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:02 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:41 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:27:02 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:27:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:08 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:29 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:35 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:26 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:32 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}, 'text': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:20 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:40 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:28 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:52 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:11 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:38 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:44 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:44 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:24:03 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:24:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:38 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:56 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:02 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:41 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:27:02 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:27:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:08 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:29 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:35 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:26 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:32 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}}} test_name: test_if_files_on_ test_parameters: {'parameters': {'show_log': 'show_output.log'}} INFO root:tests_tools.py:250 Return model data and text output from show commands and log text output for show file information flash:veos-config with connnection Node(connection=EapiConnection(transport=https://3.131.34.190:443//command-api)) INFO root:tests_tools.py:254 Raw json output of show file information flash:veos-config on dut kg-topology-CloudEOSEdge2: [{'command': 'show file information flash:veos-config', 'result': {'isDir': False, 'path': 'flash:/veos-config', 'fileName': '/mnt/flash/veos-config'}, 'encoding': 'json'}] INFO root:tests_tools.py:257 Raw text output of show file information flash:veos-config on dut kg-topology-CloudEOSEdge2: [{'output': 'flash:/veos-config:\n type is file\n'}] INFO root:tests_tools.py:311 Open log file for logging test show commands INFO root:tests_tools.py:315 Opening file show_output.log and append show output: flash:/veos-config: type is file INFO root:test_filesystem.py:80 WHEN flash:veos-config file isDir state is |False| INFO root:test_filesystem.py:84 THEN test case result is |True| INFO root:test_filesystem.py:85 OUTPUT of |show file information flash:veos-config| is : [{'output': 'flash:/veos-config:\n type is file\n'}] INFO root:test_filesystem.py:70 TEST is flash:zerotouch-config file present on |kg-topology-CloudEOSEdge2| INFO root:test_filesystem.py:71 GIVEN expected flash:zerotouch-config isDir state: |False| INFO root:tests_tools.py:245 Raw Input for return_show_cmd show_cmd: show file information flash:zerotouch-config dut: {'connection': Node(connection=EapiConnection(transport=https://3.131.34.190:443//command-api)), 'name': 'kg-topology-CloudEOSEdge2', 'output': {'interface_list': [{'hostname': 'kg-topology-CloudEOSEdge2', 'interface_name': 'Ethernet1', 'z_hostname': 'spine01', 'z_interface_name': 'Ethernet2', 'media_type': ''}, {'hostname': 'kg-topology-CloudEOSEdge2', 'interface_name': 'Ethernet2', 'z_hostname': 'leaf01', 'z_interface_name': 'Ethernet2', 'media_type': ''}], 'show interfaces status': {'json': {'interfaceStatuses': {'Ethernet2.102': {'vlanInformation': {'interfaceMode': 'encap', 'vlanId': 102, 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': 'dot1q-encapsulation', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'encapsulation': {'encapsulationType': 'dot1q', 'dot1qVlanTags': [102]}, 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet2': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet100': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 10000000000, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}, 'Ethernet1': {'vlanInformation': {'interfaceMode': 'routed', 'interfaceForwardingModel': 'routed'}, 'bandwidth': 0, 'interfaceType': '10/100/1000', 'description': '', 'autoNegotiateActive': False, 'duplex': 'duplexFull', 'autoNegotigateActive': False, 'linkStatus': 'connected', 'lineProtocolStatus': 'up'}}}, 'text': 'Port Name Status Vlan Duplex Speed Type Flags Encapsulation\nEt1 connected routed full unconf 10/100/1000 \nEt2 connected routed full unconf 10/100/1000 \nEt2.102 connected routed full unconf dot1q-encapsulation 102 \nEt100 connected routed full 10G 10/100/1000 \n\n'}, 'show interfaces phy detail': {'json': {'interfacePhyStatuses': {}}, 'text': ''}, 'show hostname': {'json': {'fqdn': 'kg-topology-CloudEOSEdge2', 'hostname': 'kg-topology-CloudEOSEdge2'}, 'text': 'Hostname: kg-topology-CloudEOSEdge2\nFQDN: kg-topology-CloudEOSEdge2\n'}, 'show extensions': {'json': {'extensions': {'awslogs.swix': {'status': 'installed', 'vendor': 'Amazon <UNKNOWN>', 'description': ' awsclicwlogs This awscli plugin provides the pull, push and filter commands to\naccess AWS CloudWatch Logs service. The awsclicwlogs package works on Python\nversions:* 2.6.5 and greater * 2.7.x and greater * 3.3.x and greater\nInstallation The easiest way to install awsclicwlogs is to use pip_:: $ pip\ninstall awsclicwlogsor, if you are not installing in a virtualenv:: $ sudo pip\ninstall ...', 'presence': 'present', 'rpms': {'awslogs.noarch.rpm': {'release': '1.el7', 'version': '1.4.0'}}, 'summary': 'AWSCLI CloudWatch Logs plugin', 'version': '1.4.0', 'numRpms': 1, 'error': False, 'release': '1.el7', 'installedSize': 23414055}, 'awsha.rpm': {'status': 'installed', 'vendor': '', 'description': 'Aws HA', 'presence': 'present', 'rpms': {'awsha.rpm': {'release': '1', 'version': '0.1.1'}}, 'summary': 'Aws HA', 'version': '0.1.1', 'numRpms': 1, 'error': False, 'release': '1', 'installedSize': 10073042}}}, 'text': 'Name Version/Release Status Extension\n----------------- -------------------- ----------- ---------\nawsha.rpm 0.1.1/1 A, I 1 \nawslogs.swix 1.4.0/1.el7 A, I 1 \n\n\nA: available | NA: not available | I: installed | NI: not installed | F: forced\nS: valid signature | NS: invalid signature\n'}, 'show version': {'json': {'memTotal': 7761392, 'uptime': 2387703.57, 'modelName': 'vEOS', 'internalVersion': '4.23.1F-cloud-16179785.jakartarel', 'mfgName': 'Arista', 'serialNumber': 'DE52F26D16E91F22BB1B507175C8C765', 'systemMacAddress': '06:35:02:ca:82:97', 'bootupTimestamp': 1597281468.0, 'memFree': 2856592, 'version': '4.23.1F-cloud-16179785.jakartarel (engineering build)', 'configMacAddress': '00:00:00:00:00:00', 'isIntlVersion': False, 'internalBuildId': '6bc96200-86c1-4e86-bed7-8280a6802809', 'hardwareRevision': '', 'hwMacAddress': '00:00:00:00:00:00', 'architecture': 'x86_64'}, 'text': 'Arista vEOS\nHardware version: \nSerial number: DE52F26D16E91F22BB1B507175C8C765\nSystem MAC address: 0635.02ca.8297\n\nSoftware image version: 4.23.1F-cloud-16179785.jakartarel (engineering build)\nArchitecture: x86_64\nInternal build version: 4.23.1F-cloud-16179785.jakartarel\nInternal build ID: 6bc96200-86c1-4e86-bed7-8280a6802809\n\nUptime: 3 weeks, 6 days, 15 hours and 15 minutes\nTotal memory: 7761392 kB\nFree memory: 2856712 kB\n\n'}, 'show processes': {'json': {'processes': {'2025': {'totalActiveTime': 2422222, 'memPct': 3.7, 'cpuPct': 101.0, 'startTime': 1597281547.0, 'cmd': 'Sfe', 'state': 'Sl', 'ttyName': '?'}, '1675': {'totalActiveTime': 61391, 'memPct': 2.1, 'cpuPct': 2.5, 'startTime': 1597281532.0, 'cmd': '/usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.15.101 -taillogs -grpcaddr=0.0.0.0:6042', 'state': 'Sl', 'ttyName': '?'}, '22112': {'totalActiveTime': 4299, 'memPct': 0.6, 'cpuPct': 0.5, 'startTime': 1598942707.0, 'cmd': 'python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config', 'state': 'SNl', 'ttyName': '?'}, '1476': {'totalActiveTime': 7377, 'memPct': 2.6, 'cpuPct': 0.3, 'startTime': 1597281508.0, 'cmd': 'Sysdb', 'state': 'S', 'ttyName': '?'}, '1518': {'totalActiveTime': 8624, 'memPct': 7.5, 'cpuPct': 0.3, 'startTime': 1597281511.0, 'cmd': 'ConfigAgent', 'state': 'Sl', 'ttyName': '?'}, '1243': {'totalActiveTime': 5897, 'memPct': 0.9, 'cpuPct': 0.2, 'startTime': 1597281493.0, 'cmd': 'ProcMgr-worker', 'state': 'S', 'ttyName': '?'}, '1951': {'totalActiveTime': 4882, 'memPct': 1.7, 'cpuPct': 0.2, 'startTime': 1597281544.0, 'cmd': 'IpRib', 'state': 'S', 'ttyName': '?'}, '1703': {'totalActiveTime': 3048, 'memPct': 1.7, 'cpuPct': 0.1, 'startTime': 1597281534.0, 'cmd': 'SuperServer', 'state': 'S', 'ttyName': '?'}, '1719': {'totalActiveTime': 2540, 'memPct': 1.2, 'cpuPct': 0.1, 'startTime': 1597281536.0, 'cmd': 'StpTxRx', 'state': 'S', 'ttyName': '?'}, '1727': {'totalActiveTime': 4700, 'memPct': 1.0, 'cpuPct': 0.1, 'startTime': 1597281536.0, 'cmd': 'AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1980': {'totalActiveTime': 3016, 'memPct': 2.3, 'cpuPct': 0.1, 'startTime': 1597281546.0, 'cmd': 'Bgp', 'state': 'Sl', 'ttyName': '?'}, '3369': {'totalActiveTime': 4608, 'memPct': 1.4, 'cpuPct': 0.1, 'startTime': 1597281726.0, 'cmd': 'Fhrp', 'state': 'S', 'ttyName': '?'}, '1': {'totalActiveTime': 353, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '/sbin/init', 'state': 'Ss', 'ttyName': '?'}, '2': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kthreadd]', 'state': 'S', 'ttyName': '?'}, '3': {'totalActiveTime': 14, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ksoftirqd/0]', 'state': 'S', 'ttyName': '?'}, '5': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/0:0H]', 'state': 'S<', 'ttyName': '?'}, '7': {'totalActiveTime': 24, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[rcu_preempt]', 'state': 'S', 'ttyName': '?'}, '8': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[rcu_sched]', 'state': 'S', 'ttyName': '?'}, '9': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[rcu_bh]', 'state': 'S', 'ttyName': '?'}, '10': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[migration/0]', 'state': 'S', 'ttyName': '?'}, '11': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[lru-add-drain]', 'state': 'S<', 'ttyName': '?'}, '12': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[watchdog/0]', 'state': 'S', 'ttyName': '?'}, '13': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[cpuhp/0]', 'state': 'S', 'ttyName': '?'}, '14': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[cpuhp/1]', 'state': 'S', 'ttyName': '?'}, '15': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[watchdog/1]', 'state': 'S', 'ttyName': '?'}, '16': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[migration/1]', 'state': 'S', 'ttyName': '?'}, '17': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ksoftirqd/1]', 'state': 'S', 'ttyName': '?'}, '18': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/1:0]', 'state': 'S', 'ttyName': '?'}, '19': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/1:0H]', 'state': 'S<', 'ttyName': '?'}, '20': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[cpuhp/2]', 'state': 'S', 'ttyName': '?'}, '21': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[watchdog/2]', 'state': 'S', 'ttyName': '?'}, '22': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[migration/2]', 'state': 'S', 'ttyName': '?'}, '23': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ksoftirqd/2]', 'state': 'S', 'ttyName': '?'}, '24': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/2:0]', 'state': 'S', 'ttyName': '?'}, '25': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/2:0H]', 'state': 'S<', 'ttyName': '?'}, '26': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[cpuhp/3]', 'state': 'S', 'ttyName': '?'}, '27': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[watchdog/3]', 'state': 'S', 'ttyName': '?'}, '28': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[migration/3]', 'state': 'S', 'ttyName': '?'}, '29': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ksoftirqd/3]', 'state': 'S', 'ttyName': '?'}, '30': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/3:0]', 'state': 'S', 'ttyName': '?'}, '31': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/3:0H]', 'state': 'S<', 'ttyName': '?'}, '32': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kdevtmpfs]', 'state': 'S', 'ttyName': '?'}, '33': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[netns]', 'state': 'S<', 'ttyName': '?'}, '34': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[khungtaskd]', 'state': 'S', 'ttyName': '?'}, '35': {'totalActiveTime': 13, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[khungtaskd2]', 'state': 'S', 'ttyName': '?'}, '36': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[oom_reaper]', 'state': 'S', 'ttyName': '?'}, '37': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[writeback]', 'state': 'S<', 'ttyName': '?'}, '38': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kcompactd0]', 'state': 'S', 'ttyName': '?'}, '39': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[crypto]', 'state': 'S<', 'ttyName': '?'}, '40': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kintegrityd]', 'state': 'S<', 'ttyName': '?'}, '41': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '42': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kblockd]', 'state': 'S<', 'ttyName': '?'}, '43': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ata_sff]', 'state': 'S<', 'ttyName': '?'}, '44': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[edac-poller]', 'state': 'S<', 'ttyName': '?'}, '45': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[dst_gc_task]', 'state': 'S', 'ttyName': '?'}, '46': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[watchdogd]', 'state': 'S<', 'ttyName': '?'}, '47': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[arp_cache-prd]', 'state': 'S', 'ttyName': '?'}, '49': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[icmp_unreachabl]', 'state': 'S', 'ttyName': '?'}, '50': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[rpciod]', 'state': 'S<', 'ttyName': '?'}, '51': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[xprtiod]', 'state': 'S<', 'ttyName': '?'}, '52': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kswapd0]', 'state': 'S', 'ttyName': '?'}, '53': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[vmstat]', 'state': 'S<', 'ttyName': '?'}, '54': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[nfsiod]', 'state': 'S<', 'ttyName': '?'}, '63': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[pcielwd]', 'state': 'S<', 'ttyName': '?'}, '64': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '65': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '66': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '67': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '68': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '69': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '70': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '71': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '72': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[nvme]', 'state': 'S<', 'ttyName': '?'}, '73': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[kworker/u8:1]', 'state': 'S', 'ttyName': '?'}, '74': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ndisc_cache-prd]', 'state': 'S', 'ttyName': '?'}, '75': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ipv6_addrconf]', 'state': 'S<', 'ttyName': '?'}, '76': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ecc_log_wq]', 'state': 'S<', 'ttyName': '?'}, '124': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '125': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[bioset]', 'state': 'S<', 'ttyName': '?'}, '171': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[jbd2/nvme0n1p1-]', 'state': 'S', 'ttyName': '?'}, '172': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281467.0, 'cmd': '[ext4-rsv-conver]', 'state': 'S<', 'ttyName': '?'}, '194': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281468.0, 'cmd': '[kworker/0:1H]', 'state': 'S<', 'ttyName': '?'}, '272': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281474.0, 'cmd': '[loop0]', 'state': 'S<', 'ttyName': '?'}, '378': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281476.0, 'cmd': '/usr/lib/systemd/systemd-udevd', 'state': 'Ss', 'ttyName': '?'}, '410': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281476.0, 'cmd': '/usr/sbin/lvmetad -f', 'state': 'Ss', 'ttyName': '?'}, '497': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': '[ena]', 'state': 'S<', 'ttyName': '?'}, '746': {'totalActiveTime': 168, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': '/usr/lib/systemd/systemd-logind', 'state': 'Ss', 'ttyName': '?'}, '752': {'totalActiveTime': 49, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': '/usr/bin/ProcMonitor', 'state': 'Ss', 'ttyName': '?'}, '762': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': '/usr/sbin/mcelog --ignorenodev --daemon --foreground', 'state': 'Ss', 'ttyName': '?'}, '770': {'totalActiveTime': 257, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281477.0, 'cmd': '/usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation', 'state': 'Ss', 'ttyName': '?'}, '784': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281478.0, 'cmd': '[kworker/1:1]', 'state': 'S', 'ttyName': '?'}, '790': {'totalActiveTime': 4, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281478.0, 'cmd': '/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid', 'state': 'Ss', 'ttyName': '?'}, '880': {'totalActiveTime': 16, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281479.0, 'cmd': '/usr/sbin/crond -n', 'state': 'Ss', 'ttyName': '?'}, '889': {'totalActiveTime': 20, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281479.0, 'cmd': '/usr/bin/wdogdev -t 60', 'state': 'S<s', 'ttyName': '?'}, '998': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281480.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local', 'state': 'S', 'ttyName': '?'}, '1000': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281480.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/0'}, '1015': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281480.0, 'cmd': '/usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil', 'state': 'Ss', 'ttyName': '?'}, '1019': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281481.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys', 'state': 'S', 'ttyName': '?'}, '1021': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281481.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/1'}, '1030': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281481.0, 'cmd': 'python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure', 'state': 'S', 'ttyName': '?'}, '1031': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281481.0, 'cmd': 'inotifywait -m -r -e modify -e create -e delete -e attrib -e move .', 'state': 'Ss+', 'ttyName': 'pts/2'}, '1062': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281482.0, 'cmd': '/bin/bash /usr/sbin/core_annotate_util daemon', 'state': 'Ss', 'ttyName': '?'}, '1189': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281487.0, 'cmd': 'python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1190': {'totalActiveTime': 0, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281487.0, 'cmd': '/usr/bin/ConnMgr -p /var/run/ConnMgr.pid', 'state': 'S', 'ttyName': '?'}, '1224': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281487.0, 'cmd': 'inotifywait -e modify /var/lib/rpm', 'state': 'S', 'ttyName': '?'}, '1226': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281493.0, 'cmd': 'netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1228': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281493.0, 'cmd': 'netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'S', 'ttyName': '?'}, '1242': {'totalActiveTime': 0, 'memPct': 0.9, 'cpuPct': 0.0, 'startTime': 1597281493.0, 'cmd': 'ProcMgr-master', 'state': 'S', 'ttyName': '?'}, '1415': {'totalActiveTime': 554, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281507.0, 'cmd': '/usr/bin/EosOomAdjust', 'state': 'S', 'ttyName': '?'}, '1423': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281508.0, 'cmd': '[rbfd_vrf_cleanu]', 'state': 'S', 'ttyName': '?'}, '1438': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281508.0, 'cmd': '/usr/sbin/acpid', 'state': 'Ss', 'ttyName': '?'}, '1475': {'totalActiveTime': 130, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281508.0, 'cmd': '/usr/bin/SlabMonitor', 'state': 'S', 'ttyName': '?'}, '1517': {'totalActiveTime': 284, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281511.0, 'cmd': 'StageMgr', 'state': 'S', 'ttyName': '?'}, '1521': {'totalActiveTime': 1003, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281511.0, 'cmd': 'Fru', 'state': 'S', 'ttyName': '?'}, '1524': {'totalActiveTime': 467, 'memPct': 1.8, 'cpuPct': 0.0, 'startTime': 1597281512.0, 'cmd': 'Launcher', 'state': 'S', 'ttyName': '?'}, '1651': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=Lldp --demuxerOpts=279603612376,279603122369,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp', 'state': 'S', 'ttyName': '?'}, '1653': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1654': {'totalActiveTime': 1367, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'Lldp', 'state': 'S', 'ttyName': '?'}, '1657': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=McastCommon --demuxerOpts=279725388188,279650445982,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon', 'state': 'S', 'ttyName': '?'}, '1659': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1661': {'totalActiveTime': 1014, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'McastCommon', 'state': 'S', 'ttyName': '?'}, '1665': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netns --agenttitle=PortSec --demuxerOpts=279886274558,279754810922,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec', 'state': 'S', 'ttyName': '?'}, '1666': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1668': {'totalActiveTime': 1106, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': 'PortSec', 'state': 'S', 'ttyName': '?'}, '1669': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281532.0, 'cmd': '[kworker/1:1H]', 'state': 'S<', 'ttyName': '?'}, '1696': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281533.0, 'cmd': 'netns --agenttitle=Bfd --demuxerOpts=283657265762,283482593841,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd', 'state': 'S', 'ttyName': '?'}, '1698': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1699': {'totalActiveTime': 1080, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'Bfd', 'state': 'S', 'ttyName': '?'}, '1700': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netns --agenttitle=Lag --demuxerOpts=287819325384,287795062523,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag', 'state': 'S', 'ttyName': '?'}, '1701': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1702': {'totalActiveTime': 1998, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281534.0, 'cmd': 'Lag', 'state': 'S', 'ttyName': '?'}, '1707': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netns --agenttitle=Ira --demuxerOpts=288347310924,288297455705,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira', 'state': 'S', 'ttyName': '?'}, '1708': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1709': {'totalActiveTime': 1025, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'Ira', 'state': 'S', 'ttyName': '?'}, '1710': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netns --agenttitle=LedPolicy --demuxerOpts=292586167457,292268884394,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy', 'state': 'S', 'ttyName': '?'}, '1712': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1713': {'totalActiveTime': 1211, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'LedPolicy', 'state': 'S', 'ttyName': '?'}, '1714': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netns --agenttitle=EventMgr --demuxerOpts=292780957018,292649411528,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr', 'state': 'S', 'ttyName': '?'}, '1715': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1716': {'totalActiveTime': 1341, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'EventMgr', 'state': 'S', 'ttyName': '?'}, '1717': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281535.0, 'cmd': 'netns --agenttitle=StpTxRx --demuxerOpts=293034015438,292843558270,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx', 'state': 'S', 'ttyName': '?'}, '1718': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1721': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=StandbyCpld --demuxerOpts=296572620123,296400986578,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1723': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1724': {'totalActiveTime': 286, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'StandbyCpld', 'state': 'S', 'ttyName': '?'}, '1725': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=AgentMonitor --demuxerOpts=296770445824,296638057211,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor', 'state': 'S', 'ttyName': '?'}, '1726': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1729': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netns --agenttitle=Tunnel --demuxerOpts=296984960239,296854805708,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel', 'state': 'S', 'ttyName': '?'}, '1730': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1731': {'totalActiveTime': 462, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'Tunnel', 'state': 'S', 'ttyName': '?'}, '1732': {'totalActiveTime': 712, 'memPct': 1.6, 'cpuPct': 0.0, 'startTime': 1597281536.0, 'cmd': 'Aaa', 'state': 'Sl', 'ttyName': '?'}, '1734': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netns --agenttitle=StpTopology --demuxerOpts=300919938207,300696082381,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology', 'state': 'S', 'ttyName': '?'}, '1735': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1736': {'totalActiveTime': 1020, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'StpTopology', 'state': 'S', 'ttyName': '?'}, '1738': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netns --agenttitle=Acl --demuxerOpts=301331916824,300996693213,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl', 'state': 'S', 'ttyName': '?'}, '1741': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1743': {'totalActiveTime': 2217, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281537.0, 'cmd': 'Acl', 'state': 'S', 'ttyName': '?'}, '1753': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netns --agenttitle=Stp --demuxerOpts=305107266403,301413423552,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp', 'state': 'S', 'ttyName': '?'}, '1756': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1759': {'totalActiveTime': 1645, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'Stp', 'state': 'S', 'ttyName': '?'}, '1776': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netns --agenttitle=KernelNetworkInfo --demuxerOpts=305360891096,305329042634,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1778': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1780': {'totalActiveTime': 335, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281538.0, 'cmd': 'KernelNetworkInfo', 'state': 'S', 'ttyName': '?'}, '1785': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netns --agenttitle=McastCommon6 --demuxerOpts=305785444216,305760706994,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6', 'state': 'S', 'ttyName': '?'}, '1788': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1789': {'totalActiveTime': 1017, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'McastCommon6', 'state': 'S', 'ttyName': '?'}, '1799': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netns --agenttitle=LacpTxAgent --demuxerOpts=309366624983,309362176094,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1803': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1805': {'totalActiveTime': 1027, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281539.0, 'cmd': 'LacpTxAgent', 'state': 'S', 'ttyName': '?'}, '1816': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'netns --agenttitle=Arp --demuxerOpts=310181868541,309815745751,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp', 'state': 'S', 'ttyName': '?'}, '1820': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1823': {'totalActiveTime': 1511, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'Arp', 'state': 'S', 'ttyName': '?'}, '1838': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'netns --agenttitle=KernelFib --demuxerOpts=314049547173,313613369111,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib', 'state': 'S', 'ttyName': '?'}, '1843': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1846': {'totalActiveTime': 1023, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'KernelFib', 'state': 'S', 'ttyName': '?'}, '1848': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281540.0, 'cmd': 'netns --agenttitle=Qos --demuxerOpts=314264185905,314224873925,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos', 'state': 'S', 'ttyName': '?'}, '1851': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netns --agenttitle=Thermostat --demuxerOpts=318320799164,318320334301,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat', 'state': 'S', 'ttyName': '?'}, '1852': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1854': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1855': {'totalActiveTime': 1152, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'Qos', 'state': 'S', 'ttyName': '?'}, '1856': {'totalActiveTime': 335, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'Thermostat', 'state': 'S', 'ttyName': '?'}, '1857': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netns --agenttitle=L2Rib --demuxerOpts=318504392051,318402053905,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib', 'state': 'S', 'ttyName': '?'}, '1860': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1861': {'totalActiveTime': 337, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'L2Rib', 'state': 'S', 'ttyName': '?'}, '1862': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281541.0, 'cmd': 'netns --agenttitle=TopoAgent --demuxerOpts=318751447473,318604181270,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled', 'state': 'S', 'ttyName': '?'}, '1863': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1864': {'totalActiveTime': 1017, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'TopoAgent', 'state': 'S', 'ttyName': '?'}, '1866': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'netns --agenttitle=PowerFuse --demuxerOpts=322455034859,322155642338,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse', 'state': 'S', 'ttyName': '?'}, '1867': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1868': {'totalActiveTime': 285, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'PowerFuse', 'state': 'S', 'ttyName': '?'}, '1869': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'netns --agenttitle=PowerManager --demuxerOpts=322587808158,322578809808,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager', 'state': 'S', 'ttyName': '?'}, '1870': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1871': {'totalActiveTime': 285, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'PowerManager', 'state': 'S', 'ttyName': '?'}, '1873': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281542.0, 'cmd': 'netns --agenttitle=Ebra --demuxerOpts=323042777435,322918823692,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra', 'state': 'S', 'ttyName': '?'}, '1874': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1877': {'totalActiveTime': 1307, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'Ebra', 'state': 'S', 'ttyName': '?'}, '1891': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'netns --agenttitle=ReloadCauseAgent --demuxerOpts=326873611161,326505655736,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1892': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1893': {'totalActiveTime': 286, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'ReloadCauseAgent', 'state': 'S', 'ttyName': '?'}, '1894': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'netns --agenttitle=SharedSecretProfile --demuxerOpts=327049023399,326947638167,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1899': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1901': {'totalActiveTime': 285, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'SharedSecretProfile', 'state': 'S', 'ttyName': '?'}, '1905': {'totalActiveTime': 1031, 'memPct': 1.5, 'cpuPct': 0.0, 'startTime': 1597281543.0, 'cmd': 'IgmpSnooping', 'state': 'S', 'ttyName': '?'}, '1934': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281544.0, 'cmd': 'netns --agenttitle=StaticRoute --demuxerOpts=331109407249,331039454504,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled', 'state': 'S', 'ttyName': '?'}, '1937': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281544.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1944': {'totalActiveTime': 336, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281544.0, 'cmd': 'StaticRoute', 'state': 'S', 'ttyName': '?'}, '1949': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281544.0, 'cmd': 'netns --agenttitle=IpRib --demuxerOpts=331478251055,331216741841,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled', 'state': 'S', 'ttyName': '?'}, '1950': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281544.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1953': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': 'netns --agenttitle=BgpCliHelper --demuxerOpts=331572043702,331571419321,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled', 'state': 'S', 'ttyName': '?'}, '1954': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1956': {'totalActiveTime': 344, 'memPct': 1.9, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': 'BgpCliHelper', 'state': 'S', 'ttyName': '?'}, '1957': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': 'netns --agenttitle=ConnectedRoute --demuxerOpts=335410314406,335272307760,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '1958': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1959': {'totalActiveTime': 1028, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281545.0, 'cmd': 'ConnectedRoute', 'state': 'S', 'ttyName': '?'}, '1962': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281546.0, 'cmd': 'netns --agenttitle=RouteInput --demuxerOpts=335932354218,335526352897,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput', 'state': 'S', 'ttyName': '?'}, '1963': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281546.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '1968': {'totalActiveTime': 337, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1597281546.0, 'cmd': 'RouteInput', 'state': 'S', 'ttyName': '?'}, '2011': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281547.0, 'cmd': 'netns --agenttitle=Sfe --demuxerOpts=343638383733,339942676958,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe', 'state': 'S', 'ttyName': '?'}, '2014': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281547.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2319': {'totalActiveTime': 25, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281552.0, 'cmd': '/usr/sbin/rsyslogd -n', 'state': 'Ssl', 'ttyName': '?'}, '2592': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281557.0, 'cmd': 'netns --agenttitle=LicenseManager --demuxerOpts=387516644822,387516174371,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager', 'state': 'S', 'ttyName': '?'}, '2596': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281558.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2597': {'totalActiveTime': 287, 'memPct': 1.1, 'cpuPct': 0.0, 'startTime': 1597281558.0, 'cmd': 'LicenseManager', 'state': 'S', 'ttyName': '?'}, '2614': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281559.0, 'cmd': '/usr/bin/conlogd', 'state': 'S', 'ttyName': '?'}, '2615': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281559.0, 'cmd': '/sbin/agetty --noclear tty1 linux', 'state': 'Ss+', 'ttyName': 'tty1'}, '2616': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281559.0, 'cmd': '/sbin/mingetty --noclear /dev/ttyS0', 'state': 'Ss+', 'ttyName': 'ttyS0'}, '2633': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281560.0, 'cmd': "sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2614 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'", 'state': 'S', 'ttyName': '?'}, '2638': {'totalActiveTime': 53, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281560.0, 'cmd': '/usr/bin/tail -n 0 --retry --follow=name --pid=2614 /var/log/eos-console', 'state': 'S', 'ttyName': '?'}, '2639': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281560.0, 'cmd': 'sed s/\\(.*\\)/\\1\\r/', 'state': 'S', 'ttyName': '?'}, '2666': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281561.0, 'cmd': '[SuperServer] <defunct>', 'state': 'Zs', 'ttyName': '?'}, '2695': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281562.0, 'cmd': 'netns --agenttitle=Ipsec --demuxerOpts=408586225606,408585707942,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec', 'state': 'S', 'ttyName': '?'}, '2696': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281562.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '2697': {'totalActiveTime': 2124, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281562.0, 'cmd': 'Ipsec', 'state': 'S', 'ttyName': '?'}, '2699': {'totalActiveTime': 1, 'memPct': 0.4, 'cpuPct': 0.0, 'startTime': 1597281562.0, 'cmd': 'dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1', 'state': 'Ss', 'ttyName': '?'}, '2726': {'totalActiveTime': 131, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281564.0, 'cmd': 'ntpd -u ntp:ntp -g -p /var/run/ntpd.pid', 'state': 'Ssl', 'ttyName': '?'}, '2730': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281567.0, 'cmd': 'fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc', 'state': 'Ss', 'ttyName': '?'}, '3232': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281723.0, 'cmd': 'netns --agenttitle=Nat --demuxerOpts=1099846842576,1099845884354,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Nat', 'state': 'S', 'ttyName': '?'}, '3237': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281723.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3242': {'totalActiveTime': 2111, 'memPct': 1.2, 'cpuPct': 0.0, 'startTime': 1597281723.0, 'cmd': 'Nat', 'state': 'S', 'ttyName': '?'}, '3254': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281723.0, 'cmd': 'netns --agenttitle=Vxlan --demuxerOpts=1100211266267,1100011505404,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Vxlan', 'state': 'S', 'ttyName': '?'}, '3257': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281723.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3263': {'totalActiveTime': 1075, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281723.0, 'cmd': 'Vxlan', 'state': 'S', 'ttyName': '?'}, '3275': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281724.0, 'cmd': 'netns --agenttitle=VxlanSwFwd --demuxerOpts=1104023511318,1100341538690,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/VxlanSwFwd', 'state': 'S', 'ttyName': '?'}, '3277': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281724.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3278': {'totalActiveTime': 1129, 'memPct': 1.4, 'cpuPct': 0.0, 'startTime': 1597281724.0, 'cmd': 'VxlanSwFwd', 'state': 'S', 'ttyName': '?'}, '3315': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281725.0, 'cmd': '/usr/libexec/strongswan/starter --daemon charon', 'state': 'Ss', 'ttyName': '?'}, '3317': {'totalActiveTime': 169, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1597281725.0, 'cmd': '/usr/libexec/strongswan/charon --use-syslog', 'state': 'Ssl', 'ttyName': '?'}, '3367': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281726.0, 'cmd': 'netns --agenttitle=Fhrp --demuxerOpts=1113312651255,1113311572347,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Fhrp --scheduled', 'state': 'S', 'ttyName': '?'}, '3368': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1597281726.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '3856': {'totalActiveTime': 2, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281920.0, 'cmd': '[kworker/u8:0]', 'state': 'S', 'ttyName': '?'}, '3977': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1597281922.0, 'cmd': '/usr/sbin/dnsmasq', 'state': 'S', 'ttyName': '?'}, '14256': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599667860.0, 'cmd': '[kworker/0:0]', 'state': 'S', 'ttyName': '?'}, '16699': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668221.0, 'cmd': '[kworker/0:2]', 'state': 'S', 'ttyName': '?'}, '18091': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668581.0, 'cmd': '[kworker/0:1]', 'state': 'S', 'ttyName': '?'}, '21755': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599668940.0, 'cmd': '[kworker/0:3]', 'state': 'S', 'ttyName': '?'}, '22090': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1598942706.0, 'cmd': '/bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh', 'state': 'S', 'ttyName': '?'}, '24384': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1599669171.0, 'cmd': 'ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww', 'state': 'Rs', 'ttyName': '?'}, '26289': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1598457411.0, 'cmd': 'netns --agenttitle=CapiApp --demuxerOpts=5050641215580694,5050641215085095,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini', 'state': 'S', 'ttyName': '?'}, '26290': {'totalActiveTime': 0, 'memPct': 0.3, 'cpuPct': 0.0, 'startTime': 1598457411.0, 'cmd': 'netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Ss', 'ttyName': '?'}, '26291': {'totalActiveTime': 237, 'memPct': 1.3, 'cpuPct': 0.0, 'startTime': 1598457411.0, 'cmd': 'CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize', 'state': 'Sl', 'ttyName': '?'}, '26335': {'totalActiveTime': 0, 'memPct': 0.0, 'cpuPct': 0.0, 'startTime': 1598457412.0, 'cmd': 'nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;', 'state': 'Ss', 'ttyName': '?'}, '26337': {'totalActiveTime': 97, 'memPct': 0.1, 'cpuPct': 0.0, 'startTime': 1598457412.0, 'cmd': 'nginx: worker process ', 'state': 'S', 'ttyName': '?'}}, 'timeInfo': {'upTime': 2387704.19, 'loadAvg': [1.53, 1.43, 1.38], 'users': 0, 'currentTime': 1599669171.905339}}, 'text': " 16:32:52 up 27 days, 15:15, 0 users, load average: 1.53, 1.43, 1.38\n PID %CPU %MEM TT STAT STARTED TIME CMD\n 2025 101 3.7 ? Sl Aug 13 28-00:50:22 Sfe\n 1675 2.5 2.1 ? Sl Aug 13 17:03:11 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.15.101 -taillogs -grpcaddr=0.0.0.0:6042\n22112 0.5 0.6 ? SNl Sep 01 01:11:39 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config\n 1476 0.3 2.6 ? S Aug 13 02:02:57 Sysdb\n 1518 0.3 7.5 ? Sl Aug 13 02:23:44 ConfigAgent\n 1243 0.2 0.9 ? S Aug 13 01:38:17 ProcMgr-worker\n 1951 0.2 1.7 ? S Aug 13 01:21:22 IpRib\n 1703 0.1 1.7 ? S Aug 13 00:50:48 SuperServer\n 1719 0.1 1.2 ? S Aug 13 00:42:20 StpTxRx\n 1727 0.1 1.0 ? S Aug 13 01:18:20 AgentMonitor\n 1980 0.1 2.3 ? Sl Aug 13 00:50:16 Bgp\n 3369 0.1 1.4 ? S Aug 13 01:16:48 Fhrp\n 1 0.0 0.0 ? Ss Aug 13 00:05:53 /sbin/init\n 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd]\n 3 0.0 0.0 ? S Aug 13 00:00:14 [ksoftirqd/0]\n 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H]\n 7 0.0 0.0 ? S Aug 13 00:00:24 [rcu_preempt]\n 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched]\n 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh]\n 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0]\n 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain]\n 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0]\n 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0]\n 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1]\n 15 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/1]\n 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1]\n 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1]\n 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0]\n 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H]\n 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2]\n 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2]\n 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2]\n 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2]\n 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0]\n 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H]\n 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3]\n 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3]\n 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3]\n 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3]\n 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0]\n 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H]\n 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs]\n 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns]\n 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd]\n 35 0.0 0.0 ? S Aug 13 00:00:13 [khungtaskd2]\n 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper]\n 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback]\n 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0]\n 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto]\n 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd]\n 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd]\n 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff]\n 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller]\n 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task]\n 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd]\n 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd]\n 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl]\n 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod]\n 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod]\n 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0]\n 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat]\n 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod]\n 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd]\n 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme]\n 73 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:1]\n 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd]\n 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf]\n 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq]\n 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset]\n 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-]\n 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver]\n 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H]\n 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0]\n 378 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd\n 410 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f\n 497 0.0 0.0 ? S< Aug 13 00:00:00 [ena]\n 746 0.0 0.0 ? Ss Aug 13 00:02:48 /usr/lib/systemd/systemd-logind\n 752 0.0 0.0 ? Ss Aug 13 00:00:49 /usr/bin/ProcMonitor\n 762 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground\n 770 0.0 0.1 ? Ss Aug 13 00:04:17 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation\n 784 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1]\n 790 0.0 0.0 ? Ss Aug 13 00:00:04 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid\n 880 0.0 0.0 ? Ss Aug 13 00:00:16 /usr/sbin/crond -n\n 889 0.0 0.0 ? S<s Aug 13 00:00:20 /usr/bin/wdogdev -t 60\n 998 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local\n 1000 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1015 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil\n 1019 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys\n 1021 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1030 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure\n 1031 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move .\n 1062 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon\n 1189 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1190 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid\n 1224 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm\n 1226 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1228 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1242 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master\n 1415 0.0 0.0 ? S Aug 13 00:09:14 /usr/bin/EosOomAdjust\n 1423 0.0 0.0 ? S Aug 13 00:00:02 [rbfd_vrf_cleanu]\n 1438 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid\n 1475 0.0 0.0 ? S Aug 13 00:02:10 /usr/bin/SlabMonitor\n 1517 0.0 1.2 ? S Aug 13 00:04:44 StageMgr\n 1521 0.0 1.4 ? S Aug 13 00:16:43 Fru\n 1524 0.0 1.8 ? S Aug 13 00:07:47 Launcher\n 1651 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=279603612376,279603122369,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp\n 1653 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1654 0.0 1.3 ? S Aug 13 00:22:47 Lldp\n 1657 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=279725388188,279650445982,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon\n 1659 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1661 0.0 1.2 ? S Aug 13 00:16:54 McastCommon\n 1665 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=279886274558,279754810922,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec\n 1666 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1668 0.0 1.1 ? S Aug 13 00:18:26 PortSec\n 1669 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H]\n 1696 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=283657265762,283482593841,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd\n 1698 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1699 0.0 1.4 ? S Aug 13 00:18:00 Bfd\n 1700 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=287819325384,287795062523,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag\n 1701 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1702 0.0 1.3 ? S Aug 13 00:33:18 Lag\n 1707 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=288347310924,288297455705,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira\n 1708 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1709 0.0 1.5 ? S Aug 13 00:17:05 Ira\n 1710 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=292586167457,292268884394,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy\n 1712 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1713 0.0 1.2 ? S Aug 13 00:20:11 LedPolicy\n 1714 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=292780957018,292649411528,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr\n 1715 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1716 0.0 1.3 ? S Aug 13 00:22:21 EventMgr\n 1717 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=293034015438,292843558270,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx\n 1718 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1721 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=296572620123,296400986578,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld\n 1723 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1724 0.0 1.1 ? S Aug 13 00:04:46 StandbyCpld\n 1725 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=296770445824,296638057211,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor\n 1726 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1729 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=296984960239,296854805708,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel\n 1730 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1731 0.0 1.2 ? S Aug 13 00:07:42 Tunnel\n 1732 0.0 1.6 ? Sl Aug 13 00:11:52 Aaa\n 1734 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=300919938207,300696082381,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology\n 1735 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1736 0.0 1.2 ? S Aug 13 00:17:00 StpTopology\n 1738 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=301331916824,300996693213,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl\n 1741 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1743 0.0 1.4 ? S Aug 13 00:36:57 Acl\n 1753 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=305107266403,301413423552,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp\n 1756 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1759 0.0 1.1 ? S Aug 13 00:27:25 Stp\n 1776 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=305360891096,305329042634,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo\n 1778 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1780 0.0 1.1 ? S Aug 13 00:05:35 KernelNetworkInfo\n 1785 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=305785444216,305760706994,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6\n 1788 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1789 0.0 1.2 ? S Aug 13 00:16:57 McastCommon6\n 1799 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=309366624983,309362176094,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent\n 1803 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1805 0.0 1.2 ? S Aug 13 00:17:07 LacpTxAgent\n 1816 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=310181868541,309815745751,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp\n 1820 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1823 0.0 1.5 ? S Aug 13 00:25:11 Arp\n 1838 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=314049547173,313613369111,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib\n 1843 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1846 0.0 1.4 ? S Aug 13 00:17:03 KernelFib\n 1848 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=314264185905,314224873925,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos\n 1851 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=318320799164,318320334301,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat\n 1852 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1854 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1855 0.0 1.2 ? S Aug 13 00:19:12 Qos\n 1856 0.0 1.1 ? S Aug 13 00:05:35 Thermostat\n 1857 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=318504392051,318402053905,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib\n 1860 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1861 0.0 1.2 ? S Aug 13 00:05:37 L2Rib\n 1862 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=318751447473,318604181270,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled\n 1863 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1864 0.0 1.2 ? S Aug 13 00:16:57 TopoAgent\n 1866 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=322455034859,322155642338,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse\n 1867 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1868 0.0 1.1 ? S Aug 13 00:04:45 PowerFuse\n 1869 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=322587808158,322578809808,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager\n 1870 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1871 0.0 1.1 ? S Aug 13 00:04:45 PowerManager\n 1873 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=323042777435,322918823692,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra\n 1874 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1877 0.0 1.4 ? S Aug 13 00:21:47 Ebra\n 1891 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=326873611161,326505655736,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent\n 1892 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1893 0.0 1.1 ? S Aug 13 00:04:46 ReloadCauseAgent\n 1894 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=327049023399,326947638167,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile\n 1899 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1901 0.0 1.1 ? S Aug 13 00:04:45 SharedSecretProfile\n 1905 0.0 1.5 ? S Aug 13 00:17:11 IgmpSnooping\n 1934 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=331109407249,331039454504,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled\n 1937 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1944 0.0 1.3 ? S Aug 13 00:05:36 StaticRoute\n 1949 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=331478251055,331216741841,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled\n 1950 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1953 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=331572043702,331571419321,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled\n 1954 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1956 0.0 1.9 ? S Aug 13 00:05:44 BgpCliHelper\n 1957 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=335410314406,335272307760,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute\n 1958 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1959 0.0 1.3 ? S Aug 13 00:17:08 ConnectedRoute\n 1962 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=335932354218,335526352897,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput\n 1963 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 1968 0.0 1.3 ? S Aug 13 00:05:37 RouteInput\n 2011 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=343638383733,339942676958,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe\n 2014 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2319 0.0 0.0 ? Ssl Aug 13 00:00:25 /usr/sbin/rsyslogd -n\n 2592 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=387516644822,387516174371,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager\n 2596 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2597 0.0 1.1 ? S Aug 13 00:04:47 LicenseManager\n 2614 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd\n 2615 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux\n 2616 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0\n 2633 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2614 /var/log/eos-console | sed 's/\\(.*\\)/\\1\\r/'\n 2638 0.0 0.0 ? S Aug 13 00:00:53 /usr/bin/tail -n 0 --retry --follow=name --pid=2614 /var/log/eos-console\n 2639 0.0 0.0 ? S Aug 13 00:00:00 sed s/\\(.*\\)/\\1\\r/\n 2666 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct>\n 2695 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=408586225606,408585707942,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec\n 2696 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 2697 0.0 1.2 ? S Aug 13 00:35:24 Ipsec\n 2699 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1\n 2726 0.0 0.1 ? Ssl Aug 13 00:02:11 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid\n 2730 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc\n 3232 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Nat --demuxerOpts=1099846842576,1099845884354,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Nat\n 3237 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3242 0.0 1.2 ? S Aug 13 00:35:11 Nat\n 3254 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Vxlan --demuxerOpts=1100211266267,1100011505404,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Vxlan\n 3257 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3263 0.0 1.4 ? S Aug 13 00:17:55 Vxlan\n 3275 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=VxlanSwFwd --demuxerOpts=1104023511318,1100341538690,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/VxlanSwFwd\n 3277 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3278 0.0 1.4 ? S Aug 13 00:18:49 VxlanSwFwd\n 3315 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon\n 3317 0.0 0.1 ? Ssl Aug 13 00:02:49 /usr/libexec/strongswan/charon --use-syslog\n 3367 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Fhrp --demuxerOpts=1113312651255,1113311572347,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Fhrp --scheduled\n 3368 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n 3856 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:0]\n 3977 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq\n14256 0.0 0.0 ? S 16:11:00 00:00:00 [kworker/0:0]\n16699 0.0 0.0 ? S 16:17:01 00:00:00 [kworker/0:2]\n18091 0.0 0.0 ? S 16:23:01 00:00:00 [kworker/0:1]\n21755 0.0 0.0 ? S 16:29:00 00:00:00 [kworker/0:3]\n22090 0.0 0.0 ? S Sep 01 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh\n24400 0.0 0.0 ? Rs 16:32:51 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww\n26289 0.0 0.0 ? S Aug 26 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=5050641215580694,5050641215085095,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini\n26290 0.0 0.3 ? Ss Aug 26 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n26291 0.0 1.3 ? Sl Aug 26 00:03:57 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize\n26335 0.0 0.0 ? Ss Aug 26 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid;\n26337 0.0 0.1 ? S Aug 26 00:01:37 nginx: worker process \n"}, 'show running-config section username': {'json': {'output': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'text': 'no username admin\n!\nusername ec2-user nopassword\nusername ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2\nusername kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f.\n'}, 'show aaa counters': {'json': {'authenticationSuccess': 74201, 'authorizationAllowed': 2283, 'accountingSuccess': 0, 'pendingAccountingRequests': 0, 'authorizationDenied': 0, 'authenticationFail': 2, 'authenticationUnavailable': 96, 'accountingError': 0, 'authorizationUnavailable': 0}, 'text': 'Authentication\n Successful: 74206\n Failed: 2\n Service unavailable: 96\n\nAuthorization\n Allowed: 2283\n Denied: 0\n Service unavailable: 0\n\nAccounting\n Successful: 0\n Error: 0\n Pending: 0\n\nLast time counters were cleared: never\n'}, 'show users detail': {'json': {'serials': {}, 'nonInteractives': {'75744': {'username': 'kgrozis', 'state': 'established', 'sessionStartTime': 1599669160, 'role': '', 'service': 'commandApi', 'authMethod': 'local'}}, 'vtys': {}}, 'text': 'Session Username Roles TTY State Duration Auth Remote Host \n-------- --------- ------- ------------- ------- ---------- ------- ----------- \n75744 kgrozis command-api E 0:00:14 local \n'}, 'show aaa methods all': {'json': {'authorization': {'commandsAuthzMethods': {'privilege0-15': {'methods': ['none']}}, 'execAuthzMethods': {'exec': {'methods': ['none']}}}, 'authentication': {'loginAuthenMethods': {'default': {'methods': ['local']}}, 'dot1xAuthenMethods': {'default': {'methods': []}}, 'enableAuthenMethods': {'default': {'methods': ['local']}}}, 'accounting': {'systemAcctMethods': {'system': {'defaultMethods': [], 'consoleMethods': []}}, 'execAcctMethods': {'exec': {'defaultMethods': [], 'consoleMethods': []}}, 'commandsAcctMethods': {'privilege0-15': {'defaultMethods': [], 'consoleMethods': []}}, 'dot1xAcctMethods': {'dot1x': {'defaultMethods': [], 'consoleMethods': []}}}}, 'text': 'Authentication method lists for LOGIN:\n name=default methods=local\nAuthentication method list for ENABLE:\n name=default methods=local\nAuthentication method list for DOT1X:\n name=default methods=\nAuthorization method lists for COMMANDS:\n name=privilege0-15 methods=none\nAuthorization method list for EXEC:\n name=exec methods=none\nAccounting method lists for COMMANDS:\n name=privilege0-15 default-action=none\nAccounting method list for EXEC:\n name=exec default-action=none\nAccounting method list for SYSTEM:\n name=system default-action=none\nAccounting method list for DOT1X:\n name=dot1x default-action=none\n'}, 'show ntp status': {'json': {'status': 'synchronised', 'pollingInterval': 1024, 'stratum': 4, 'maxEstimatedError': 27, 'server': '169.254.169.123'}, 'text': 'synchronised to NTP server (169.254.169.123) at stratum 4\n time correct to within 27 ms\n polling server every 1024 s\n\n'}, 'show ntp associations': {'json': {'peers': {'169.254.169.123': {'delay': 0.164, 'jitter': 0.69, 'lastReceived': 1599668408.0, 'peerType': 'local', 'reachabilityHistory': [True, True, True, True, True, True, True, True], 'condition': 'sys.peer', 'offset': 0.074, 'peerIpAddr': '169.254.169.123', 'pollInterval': 1024, 'refid': '169.254.169.122', 'stratumLevel': 3}}}, 'text': ' remote refid st t when poll reach delay offset jitter\n==============================================================================\n*169.254.169.123 169.254.169.12 3 l 769 1024 377 0.164 0.074 0.69\n'}, 'show daemon': {'json': {'daemons': {'TerminAttr': {'running': True, 'option': {}, 'starttime': 1597281533.685061, 'pid': 1675, 'enabled': True, 'uptime': 2387644.55, 'data': {}, 'isSdkAgent': False}}}, 'text': 'Process: TerminAttr (running with PID 1675)\nUptime: 27 days, 15:14:04 (Start time: Thu Aug 13 01:18:53 2020)\nNo configuration options stored.\n\nNo status data stored.\n\n'}, 'show zerotouch': {'json': {'mode': 'disabled', 'scriptTimeout': 900}, 'text': '\nZeroTouch Mode: Disabled\nScript Exec Timeout: 900\n'}, 'dir flash:zerotouch-config': {'json': {'messages': ['Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7291580416 bytes free)\n']}, 'text': 'Directory of flash:/zerotouch-config\n\n -rw- 13 Mar 30 23:38 zerotouch-config\n\n8319852544 bytes total (7291580416 bytes free)\n'}, 'show system environment temperature': {'json': {'cardSlots': [], 'powerSupplySlots': [], 'shutdownOnOverheat': True, 'tempSensors': [], 'systemStatus': 'unknownTemperatureAlarmLevel'}, 'text': 'System temperature status is: Unknown\n'}, 'show system environment cooling': {'json': {'overrideFanSpeed': 0, 'coolingMode': 'automatic', 'powerSupplySlots': [], 'fanTraySlots': [], 'minFanSpeed': 0, 'shutdownOnInsufficientFans': True, 'systemStatus': 'unknownCoolingAlarmLevel', 'airflowDirection': 'unknownAirflowDirection'}, 'text': 'System cooling status is: Unknown\nAmbient temperature: Unknown\n Config Actual Speed Stable\nFan Status Speed Speed Uptime Stability Uptime\n--- ------ ------ ------ ------ --------- ------\n'}, 'show management api http-commands': {'json': {'httpServer': {'running': False, 'configured': False, 'port': 80}, 'users': {'kgrozis': {'requestCount': 67280, 'bytesOut': 193066464, 'lastHitTime': 1599669180.7875922, 'bytesIn': 10883000}}, 'bytesOut': 193066464, 'logLevel': 'none', 'dscpValue': 0, 'corsOrigins': [], 'hitCount': 71680, 'vrf': 'default', 'lastHitTime': 1599669180.7875366, 'tlsProtocol': ['1.0', '1.1', '1.2'], 'localHttpServer': {'running': False, 'configured': False, 'port': 8080}, 'executionTime': 7867.150401368941, 'enabled': True, 'fipsEnabled': False, 'httpsServer': {'running': True, 'configured': True, 'port': 443}, 'requestCount': 67280, 'vrfs': ['default'], 'urls': ['Ethernet1 : https://11.201.15.101:443', 'Ethernet2 : https://11.201.15.201:443', 'Ethernet100 : https://11.201.8.1:443', 'Loopback0 : https://11.201.0.3:443', 'Loopback10 : https://198.18.0.37:443'], 'unixSocketServer': {'running': False, 'configured': False}, 'bytesIn': 10883000, 'commandCount': 134560, 'iframeAncestors': []}, 'text': 'Enabled: Yes\nHTTPS server: running, set to use port 443\nHTTP server: shutdown, set to use port 80\nLocal HTTP server: shutdown, no authentication, set to use port 8080\nUnix Socket server: shutdown, no authentication\nVRFs: default\nHits: 71685\nLast hit: 0 seconds ago\nBytes in: 10883801\nBytes out: 193070251\nRequests: 67285\nCommands: 134570\nDuration: 7867.286 seconds\nSSL Profile: none\nFIPS Mode: No\nQoS DSCP: 0\nLog Level: none\nCSP Frame Ancestor: None\nTLS Protocols: 1.0 1.1 1.2\n User Requests Bytes in Bytes out Last hit \n------------- -------------- -------------- --------------- ------------- \n kgrozis 67285 10883801 193070251 0 seconds ago \n\nURLs \n--------------------------------------- \nEthernet1 : https://11.201.15.101:443 \nEthernet2 : https://11.201.15.201:443 \nEthernet100 : https://11.201.8.1:443 \nLoopback0 : https://11.201.0.3:443 \nLoopback10 : https://198.18.0.37:443 \n\n'}, 'show tacacs': {'json': {'tacacsServers': [], 'groups': {}, 'srcIntf': {}, 'lastCounterClearTime': 0.0}, 'text': '\nLast time counters were cleared: never\n'}, 'show logging': {'json': {'output': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:20 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:40 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:28 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:52 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:11 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:38 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:44 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:44 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:24:03 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:24:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:38 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:56 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:02 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:41 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:27:02 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:27:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:08 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:29 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:35 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:26 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:32 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}, 'text': 'Syslog logging: enabled\n Buffer logging: level debugging\n Console logging: level errors\n Persistent logging: disabled\n Monitor logging: level errors\n Synchronous logging: disabled\n Trap logging: level informational\n Sequence numbers: disabled\n Syslog facility: local4\n Hostname format: Hostname only\n Repeat logging interval: disabled\n Repeat messages: disabled\n\nFacility Severity Effective Severity\n-------------------- ------------- ------------------\naaa debugging debugging \naccounting debugging debugging \nacl debugging debugging \nagent debugging debugging \nale debugging debugging \narp debugging debugging \nbfd debugging debugging \nbgp debugging debugging \nbmp debugging debugging \ncapacity debugging debugging \ncapi debugging debugging \nclear debugging debugging \ncvx debugging debugging \ndataplane debugging debugging \ndhcp debugging debugging \ndot1x debugging debugging \ndscp debugging debugging \nenvmon debugging debugging \neth debugging debugging \neventmon debugging debugging \nextension debugging debugging \nfhrp debugging debugging \nflow debugging debugging \nforwarding debugging debugging \nfru debugging debugging \nfwk debugging debugging \ngmp debugging debugging \nhardware debugging debugging \nhealth debugging debugging \nhttpservice debugging debugging \nigmp debugging debugging \nigmpsnooping debugging debugging \nint debugging debugging \nintf debugging debugging \nip6routing debugging debugging \niprib debugging debugging \nira debugging debugging \nisis debugging debugging \nkernelfib debugging debugging \nlacp debugging debugging \nlag debugging debugging \nlauncher debugging debugging \nldp debugging debugging \nlicense debugging debugging \nlineproto debugging debugging \nlldp debugging debugging \nloadbalancer debugging debugging \nlogmgr debugging debugging \nloopback debugging debugging \nloopprotect debugging debugging \nmapreducemonitor debugging debugging \nmcs debugging debugging \nmirroring debugging debugging \nmka debugging debugging \nmlag debugging debugging \nmldsnooping debugging debugging \nmmode debugging debugging \nmroute debugging debugging \nmrp debugging debugging \nmsdp debugging debugging \nmsrp debugging debugging \nmsspolicymonitor debugging debugging \nmvrp debugging debugging \nnat debugging debugging \nopenconfig debugging debugging \nopenflow debugging debugging \nospf debugging debugging \nospf3 debugging debugging \npackage debugging debugging \npfc debugging debugging \npimbsr debugging debugging \nportsecurity debugging debugging \nptp debugging debugging \npwrmgmt debugging debugging \nqos debugging debugging \nqueuemonitor debugging debugging \nradius debugging debugging \nredundancy debugging debugging \nrib debugging debugging \nrouting debugging debugging \nsecurity debugging debugging \nservermonitor debugging debugging \nspantree debugging debugging \nsso debugging debugging \nstagemgr debugging debugging \nsys debugging debugging \nsysdb debugging debugging \ntapagg debugging debugging \ntcp debugging debugging \ntransceiver debugging debugging \ntunnel debugging debugging \ntunnelintf debugging debugging \nvmtracersess debugging debugging \nvmwarevi debugging debugging \nvmwarevs debugging debugging \nvrf debugging debugging \nvrrp debugging debugging \nvxlan debugging debugging \nxmpp debugging debugging \nztp debugging debugging \n\nLog Buffer:\nSep 9 16:14:20 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:40 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:14:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:03 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:28 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:15:52 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:20:46 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:11 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:38 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:21:44 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:18 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:23:44 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:24:03 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:24:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:13 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:38 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:25:56 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:02 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:16 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:26:41 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:27:02 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:27:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:30:42 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:08 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:29 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:35 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:31:43 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:09 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:26 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:32 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGOUT: user kgrozis logged out [from: 173.79.124.35] [service: command-api]\nSep 9 16:32:40 kg-topology-CloudEOSEdge2 Aaa: %AAA-5-LOGIN: user kgrozis logged in [from: 173.79.124.35] [service: command-api]\n'}}} test_name: test_if_files_on_ test_parameters: {'parameters': {'show_log': 'show_output.log'}} INFO root:tests_tools.py:250 Return model data and text output from show commands and log text output for show file information flash:zerotouch-config with connnection Node(connection=EapiConnection(transport=https://3.131.34.190:443//command-api)) INFO root:tests_tools.py:254 Raw json output of show file information flash:zerotouch-config on dut kg-topology-CloudEOSEdge2: [{'command': 'show file information flash:zerotouch-config', 'result': {'isDir': False, 'path': 'flash:/zerotouch-config', 'fileName': '/mnt/flash/zerotouch-config'}, 'encoding': 'json'}] INFO root:tests_tools.py:257 Raw text output of show file information flash:zerotouch-config on dut kg-topology-CloudEOSEdge2: [{'output': 'flash:/zerotouch-config:\n type is file\n'}] INFO root:tests_tools.py:311 Open log file for logging test show commands INFO root:tests_tools.py:315 Opening file show_output.log and append show output: flash:/zerotouch-config: type is file INFO root:test_filesystem.py:80 WHEN flash:zerotouch-config file isDir state is |False| INFO root:test_filesystem.py:84 THEN test case result is |True| INFO root:test_filesystem.py:85 OUTPUT of |show file information flash:zerotouch-config| is : [{'output': 'flash:/zerotouch-config:\n type is file\n'}] | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/ntp/test_ntp.py::NTPTests::test_if_ntp_associated_with_peers_on_[kg-topology-CloudEOSEdge2] | Verify ntp peers are correct | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| has |1| NTP peer associations -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_ntp.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_ntp_associated_with_peers_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show ntp associations| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show ntp associations| on kg-topology-CloudEOSEdge2 INFO root:test_ntp.py:104 TEST is NTP associations with peers on |kg-topology-CloudEOSEdge2| INFO root:test_ntp.py:105 GIVEN NTP associated are greater than or equal to |1| INFO root:test_ntp.py:112 WHEN NTP associated peers fare |1| INFO root:test_ntp.py:115 THEN test case result is |True| INFO root:test_ntp.py:116 OUTPUT of |show ntp associations| is : remote refid st t when poll reach delay offset jitter ============================================================================== *169.254.169.123 169.254.169.12 3 l 769 1024 377 0.164 0.074 0.69 | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/tacacs/test_tacacs.py::TacacsTests::test_if_tacacs_is_sending_messages_on_[kg-topology-CloudEOSEdge2] | Verify tacacs messages are sending correctly | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| does not have TACACS servers configured -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_tacacs.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_tacacs_is_sending_messages_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show tacacs| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show tacacs| on kg-topology-CloudEOSEdge2 INFO root:tests_tools.py:377 Verify if tacacs server(s) are configured on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:383 0 tacacs serverws are configured so returning False INFO root:test_tacacs.py:73 TEST is |kg-topology-CloudEOSEdge2| sending messages to TACACS server | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/ntp/test_ntp.py::NTPTests::test_if_process_is_running_on_[kg-topology-CloudEOSEdge2] | Verify ntp processes are running | 0.02 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| has |1| process for ntpd -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_ntp.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_process_is_running_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show processes| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show processes| on kg-topology-CloudEOSEdge2 INFO root:test_ntp.py:148 TEST is ntpd running on |kg-topology-CloudEOSEdge2| INFO root:test_ntp.py:149 GIVEN ntpd state is |1| INFO root:test_ntp.py:155 WHEN ntpd number is |1| INFO root:test_ntp.py:158 THEN test case result is |True| INFO root:test_ntp.py:159 OUTPUT of |show processes| is : 16:32:52 up 27 days, 15:15, 0 users, load average: 1.53, 1.43, 1.38 PID %CPU %MEM TT STAT STARTED TIME CMD 2025 101 3.7 ? Sl Aug 13 28-00:50:22 Sfe 1675 2.5 2.1 ? Sl Aug 13 17:03:11 /usr/bin/TerminAttr -cvaddr=apiserver.arista.io:443 -cvcompression=gzip -cvauth=token-secure,/tmp/token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata-ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=default -cvsourceip=11.201.15.101 -taillogs -grpcaddr=0.0.0.0:6042 22112 0.5 0.6 ? SNl Sep 01 01:11:39 python2.7 /var/awslogs/bin/aws logs push --config-file /mnt/flash/awslogs/awslogs.conf --additional-configs-dir /mnt/flash/awslogs/config 1476 0.3 2.6 ? S Aug 13 02:02:57 Sysdb 1518 0.3 7.5 ? Sl Aug 13 02:23:44 ConfigAgent 1243 0.2 0.9 ? S Aug 13 01:38:17 ProcMgr-worker 1951 0.2 1.7 ? S Aug 13 01:21:22 IpRib 1703 0.1 1.7 ? S Aug 13 00:50:48 SuperServer 1719 0.1 1.2 ? S Aug 13 00:42:20 StpTxRx 1727 0.1 1.0 ? S Aug 13 01:18:20 AgentMonitor 1980 0.1 2.3 ? Sl Aug 13 00:50:16 Bgp 3369 0.1 1.4 ? S Aug 13 01:16:48 Fhrp 1 0.0 0.0 ? Ss Aug 13 00:05:53 /sbin/init 2 0.0 0.0 ? S Aug 13 00:00:00 [kthreadd] 3 0.0 0.0 ? S Aug 13 00:00:14 [ksoftirqd/0] 5 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:0H] 7 0.0 0.0 ? S Aug 13 00:00:24 [rcu_preempt] 8 0.0 0.0 ? S Aug 13 00:00:00 [rcu_sched] 9 0.0 0.0 ? S Aug 13 00:00:00 [rcu_bh] 10 0.0 0.0 ? S Aug 13 00:00:00 [migration/0] 11 0.0 0.0 ? S< Aug 13 00:00:00 [lru-add-drain] 12 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/0] 13 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/0] 14 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/1] 15 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/1] 16 0.0 0.0 ? S Aug 13 00:00:00 [migration/1] 17 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/1] 18 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:0] 19 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:0H] 20 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/2] 21 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/2] 22 0.0 0.0 ? S Aug 13 00:00:00 [migration/2] 23 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/2] 24 0.0 0.0 ? S Aug 13 00:00:00 [kworker/2:0] 25 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/2:0H] 26 0.0 0.0 ? S Aug 13 00:00:00 [cpuhp/3] 27 0.0 0.0 ? S Aug 13 00:00:00 [watchdog/3] 28 0.0 0.0 ? S Aug 13 00:00:00 [migration/3] 29 0.0 0.0 ? S Aug 13 00:00:00 [ksoftirqd/3] 30 0.0 0.0 ? S Aug 13 00:00:00 [kworker/3:0] 31 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/3:0H] 32 0.0 0.0 ? S Aug 13 00:00:00 [kdevtmpfs] 33 0.0 0.0 ? S< Aug 13 00:00:00 [netns] 34 0.0 0.0 ? S Aug 13 00:00:00 [khungtaskd] 35 0.0 0.0 ? S Aug 13 00:00:13 [khungtaskd2] 36 0.0 0.0 ? S Aug 13 00:00:00 [oom_reaper] 37 0.0 0.0 ? S< Aug 13 00:00:00 [writeback] 38 0.0 0.0 ? S Aug 13 00:00:00 [kcompactd0] 39 0.0 0.0 ? S< Aug 13 00:00:00 [crypto] 40 0.0 0.0 ? S< Aug 13 00:00:00 [kintegrityd] 41 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 42 0.0 0.0 ? S< Aug 13 00:00:00 [kblockd] 43 0.0 0.0 ? S< Aug 13 00:00:00 [ata_sff] 44 0.0 0.0 ? S< Aug 13 00:00:00 [edac-poller] 45 0.0 0.0 ? S Aug 13 00:00:00 [dst_gc_task] 46 0.0 0.0 ? S< Aug 13 00:00:00 [watchdogd] 47 0.0 0.0 ? S Aug 13 00:00:00 [arp_cache-prd] 49 0.0 0.0 ? S Aug 13 00:00:00 [icmp_unreachabl] 50 0.0 0.0 ? S< Aug 13 00:00:00 [rpciod] 51 0.0 0.0 ? S< Aug 13 00:00:00 [xprtiod] 52 0.0 0.0 ? S Aug 13 00:00:00 [kswapd0] 53 0.0 0.0 ? S< Aug 13 00:00:00 [vmstat] 54 0.0 0.0 ? S< Aug 13 00:00:00 [nfsiod] 63 0.0 0.0 ? S< Aug 13 00:00:00 [pcielwd] 64 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 65 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 66 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 67 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 68 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 69 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 70 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 71 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 72 0.0 0.0 ? S< Aug 13 00:00:00 [nvme] 73 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:1] 74 0.0 0.0 ? S Aug 13 00:00:00 [ndisc_cache-prd] 75 0.0 0.0 ? S< Aug 13 00:00:00 [ipv6_addrconf] 76 0.0 0.0 ? S< Aug 13 00:00:00 [ecc_log_wq] 124 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 125 0.0 0.0 ? S< Aug 13 00:00:00 [bioset] 171 0.0 0.0 ? S Aug 13 00:00:00 [jbd2/nvme0n1p1-] 172 0.0 0.0 ? S< Aug 13 00:00:00 [ext4-rsv-conver] 194 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/0:1H] 272 0.0 0.0 ? S< Aug 13 00:00:00 [loop0] 378 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/lib/systemd/systemd-udevd 410 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/lvmetad -f 497 0.0 0.0 ? S< Aug 13 00:00:00 [ena] 746 0.0 0.0 ? Ss Aug 13 00:02:48 /usr/lib/systemd/systemd-logind 752 0.0 0.0 ? Ss Aug 13 00:00:49 /usr/bin/ProcMonitor 762 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground 770 0.0 0.1 ? Ss Aug 13 00:04:17 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation 784 0.0 0.0 ? S Aug 13 00:00:00 [kworker/1:1] 790 0.0 0.0 ? Ss Aug 13 00:00:04 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid 880 0.0 0.0 ? Ss Aug 13 00:00:16 /usr/sbin/crond -n 889 0.0 0.0 ? S<s Aug 13 00:00:20 /usr/bin/wdogdev -t 60 998 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/local.new . && mv /mnt/flash/persist/local.new /mnt/flash/persist/local || logger -t SetupPersist Failed to update /mnt/flash/persist/local --daemon --logfile=/var/log/inotifyrun-local.log --pidfile=/var/run/inotifyrun-local.pid /persist/local 1000 0.0 0.0 pts/0 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1015 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/bin/SaveFossil --dedup --compress --priority Sysdb --maxFiles 1000 /var/tmp/Fossil /mnt/flash/Fossil 1019 0.0 0.0 ? S Aug 13 00:00:02 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/sys.new . && mv /mnt/flash/persist/sys.new /mnt/flash/persist/sys || logger -t SetupPersist Failed to update /mnt/flash/persist/sys --daemon --logfile=/var/log/inotifyrun-sys.log --pidfile=/var/run/inotifyrun-sys.pid /persist/sys 1021 0.0 0.0 pts/1 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1030 0.0 0.0 ? S Aug 13 00:00:00 python /usr/bin/inotifyrun -c pax -x sv4cpio -O -w -f /mnt/flash/persist/secure.new . && sync && ( mv /mnt/flash/persist/secure /mnt/flash/persist/secure.old; mv /mnt/flash/persist/secure.new /mnt/flash/persist/secure; sync ) && ( scrub --no-signature /mnt/flash/persist/secure.old; rm /mnt/flash/persist/secure.old ) || logger -t SetupPersist Failed to update /mnt/flash/persist/secure --daemon --logfile=/var/log/inotifyrun-secure.log --pidfile=/var/run/inotifyrun-secure.pid /persist/secure 1031 0.0 0.0 pts/2 Ss+ Aug 13 00:00:00 inotifywait -m -r -e modify -e create -e delete -e attrib -e move . 1062 0.0 0.0 ? Ss Aug 13 00:00:00 /bin/bash /usr/sbin/core_annotate_util daemon 1189 0.0 0.1 ? S Aug 13 00:00:00 python /bin/immortalize --daemonize --log=/var/log/agents/ConnMgr --logappend --logpidsuffix --maxcredits=5 --cost=1 --immortalizepidfile=/var/run/ImmortalizeConnMgr.pid /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1190 0.0 0.1 ? S Aug 13 00:00:00 /usr/bin/ConnMgr -p /var/run/ConnMgr.pid 1224 0.0 0.0 ? S Aug 13 00:00:00 inotifywait -e modify /var/lib/rpm 1226 0.0 0.3 ? S Aug 13 00:00:00 netnsd-watcher -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1228 0.0 0.3 ? S Aug 13 00:00:00 netnsd-server -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1242 0.0 0.9 ? S Aug 13 00:00:00 ProcMgr-master 1415 0.0 0.0 ? S Aug 13 00:09:14 /usr/bin/EosOomAdjust 1423 0.0 0.0 ? S Aug 13 00:00:02 [rbfd_vrf_cleanu] 1438 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/sbin/acpid 1475 0.0 0.0 ? S Aug 13 00:02:10 /usr/bin/SlabMonitor 1517 0.0 1.2 ? S Aug 13 00:04:44 StageMgr 1521 0.0 1.4 ? S Aug 13 00:16:43 Fru 1524 0.0 1.8 ? S Aug 13 00:07:47 Launcher 1651 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lldp --demuxerOpts=279603612376,279603122369,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Lldp 1653 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1654 0.0 1.3 ? S Aug 13 00:22:47 Lldp 1657 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon --demuxerOpts=279725388188,279650445982,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon 1659 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1661 0.0 1.2 ? S Aug 13 00:16:54 McastCommon 1665 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PortSec --demuxerOpts=279886274558,279754810922,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PortSec 1666 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1668 0.0 1.1 ? S Aug 13 00:18:26 PortSec 1669 0.0 0.0 ? S< Aug 13 00:00:00 [kworker/1:1H] 1696 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Bfd --demuxerOpts=283657265762,283482593841,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Bfd 1698 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1699 0.0 1.4 ? S Aug 13 00:18:00 Bfd 1700 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Lag --demuxerOpts=287819325384,287795062523,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Lag 1701 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1702 0.0 1.3 ? S Aug 13 00:33:18 Lag 1707 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ira --demuxerOpts=288347310924,288297455705,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ira 1708 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1709 0.0 1.5 ? S Aug 13 00:17:05 Ira 1710 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LedPolicy --demuxerOpts=292586167457,292268884394,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LedPolicy 1712 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1713 0.0 1.2 ? S Aug 13 00:20:11 LedPolicy 1714 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=EventMgr --demuxerOpts=292780957018,292649411528,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/EventMgr 1715 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1716 0.0 1.3 ? S Aug 13 00:22:21 EventMgr 1717 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTxRx --demuxerOpts=293034015438,292843558270,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTxRx 1718 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1721 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StandbyCpld --demuxerOpts=296572620123,296400986578,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StandbyCpld 1723 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1724 0.0 1.1 ? S Aug 13 00:04:46 StandbyCpld 1725 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=AgentMonitor --demuxerOpts=296770445824,296638057211,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/AgentMonitor 1726 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1729 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Tunnel --demuxerOpts=296984960239,296854805708,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Tunnel 1730 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1731 0.0 1.2 ? S Aug 13 00:07:42 Tunnel 1732 0.0 1.6 ? Sl Aug 13 00:11:52 Aaa 1734 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StpTopology --demuxerOpts=300919938207,300696082381,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StpTopology 1735 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1736 0.0 1.2 ? S Aug 13 00:17:00 StpTopology 1738 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Acl --demuxerOpts=301331916824,300996693213,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Acl 1741 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1743 0.0 1.4 ? S Aug 13 00:36:57 Acl 1753 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Stp --demuxerOpts=305107266403,301413423552,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Stp 1756 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1759 0.0 1.1 ? S Aug 13 00:27:25 Stp 1776 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelNetworkInfo --demuxerOpts=305360891096,305329042634,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelNetworkInfo 1778 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1780 0.0 1.1 ? S Aug 13 00:05:35 KernelNetworkInfo 1785 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=McastCommon6 --demuxerOpts=305785444216,305760706994,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/McastCommon6 1788 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1789 0.0 1.2 ? S Aug 13 00:16:57 McastCommon6 1799 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LacpTxAgent --demuxerOpts=309366624983,309362176094,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LacpTxAgent 1803 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1805 0.0 1.2 ? S Aug 13 00:17:07 LacpTxAgent 1816 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Arp --demuxerOpts=310181868541,309815745751,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Arp 1820 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1823 0.0 1.5 ? S Aug 13 00:25:11 Arp 1838 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=KernelFib --demuxerOpts=314049547173,313613369111,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/KernelFib 1843 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1846 0.0 1.4 ? S Aug 13 00:17:03 KernelFib 1848 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Qos --demuxerOpts=314264185905,314224873925,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Qos 1851 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Thermostat --demuxerOpts=318320799164,318320334301,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Thermostat 1852 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1854 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1855 0.0 1.2 ? S Aug 13 00:19:12 Qos 1856 0.0 1.1 ? S Aug 13 00:05:35 Thermostat 1857 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=L2Rib --demuxerOpts=318504392051,318402053905,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/L2Rib 1860 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1861 0.0 1.2 ? S Aug 13 00:05:37 L2Rib 1862 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=TopoAgent --demuxerOpts=318751447473,318604181270,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/TopoAgent --scheduled 1863 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1864 0.0 1.2 ? S Aug 13 00:16:57 TopoAgent 1866 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerFuse --demuxerOpts=322455034859,322155642338,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerFuse 1867 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1868 0.0 1.1 ? S Aug 13 00:04:45 PowerFuse 1869 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=PowerManager --demuxerOpts=322587808158,322578809808,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/PowerManager 1870 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1871 0.0 1.1 ? S Aug 13 00:04:45 PowerManager 1873 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ebra --demuxerOpts=323042777435,322918823692,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ebra 1874 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1877 0.0 1.4 ? S Aug 13 00:21:47 Ebra 1891 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ReloadCauseAgent --demuxerOpts=326873611161,326505655736,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/ReloadCauseAgent 1892 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1893 0.0 1.1 ? S Aug 13 00:04:46 ReloadCauseAgent 1894 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=SharedSecretProfile --demuxerOpts=327049023399,326947638167,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/SharedSecretProfile 1899 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1901 0.0 1.1 ? S Aug 13 00:04:45 SharedSecretProfile 1905 0.0 1.5 ? S Aug 13 00:17:11 IgmpSnooping 1934 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=StaticRoute --demuxerOpts=331109407249,331039454504,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/StaticRoute --scheduled 1937 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1944 0.0 1.3 ? S Aug 13 00:05:36 StaticRoute 1949 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=IpRib --demuxerOpts=331478251055,331216741841,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/IpRib --scheduled 1950 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1953 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=BgpCliHelper --demuxerOpts=331572043702,331571419321,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/BgpCliHelper --scheduled 1954 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1956 0.0 1.9 ? S Aug 13 00:05:44 BgpCliHelper 1957 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=ConnectedRoute --demuxerOpts=335410314406,335272307760,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/ConnectedRoute 1958 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1959 0.0 1.3 ? S Aug 13 00:17:08 ConnectedRoute 1962 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=RouteInput --demuxerOpts=335932354218,335526352897,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/RouteInput 1963 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 1968 0.0 1.3 ? S Aug 13 00:05:37 RouteInput 2011 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Sfe --demuxerOpts=343638383733,339942676958,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Sfe 2014 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2319 0.0 0.0 ? Ssl Aug 13 00:00:25 /usr/sbin/rsyslogd -n 2592 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=LicenseManager --demuxerOpts=387516644822,387516174371,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/LicenseManager 2596 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2597 0.0 1.1 ? S Aug 13 00:04:47 LicenseManager 2614 0.0 0.0 ? S Aug 13 00:00:00 /usr/bin/conlogd 2615 0.0 0.0 tty1 Ss+ Aug 13 00:00:00 /sbin/agetty --noclear tty1 linux 2616 0.0 0.0 ttyS0 Ss+ Aug 13 00:00:00 /sbin/mingetty --noclear /dev/ttyS0 2633 0.0 0.0 ? S Aug 13 00:00:00 sh -c /usr/bin/tail -n 0 --retry --follow=name --pid=2614 /var/log/eos-console | sed 's/\(.*\)/\1\r/' 2638 0.0 0.0 ? S Aug 13 00:00:53 /usr/bin/tail -n 0 --retry --follow=name --pid=2614 /var/log/eos-console 2639 0.0 0.0 ? S Aug 13 00:00:00 sed s/\(.*\)/\1\r/ 2666 0.0 0.0 ? Zs Aug 13 00:00:00 [SuperServer] <defunct> 2695 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Ipsec --demuxerOpts=408586225606,408585707942,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Ipsec 2696 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 2697 0.0 1.2 ? S Aug 13 00:35:24 Ipsec 2699 0.0 0.4 ? Ss Aug 13 00:00:01 dhclient -e SYSNAME=ar -e SYSDBSOCKNAME=sysdb -e VRFNAME=default -sf /etc/dhcp/dhclient-script.py -pf /var/run/dhclient-default.pid -cf /etc/dhcp/dhclient-default.conf -lf /var/lib/dhclient/dhclient-default.leases -e et1=Ethernet1 2726 0.0 0.1 ? Ssl Aug 13 00:02:11 ntpd -u ntp:ntp -g -p /var/run/ntpd.pid 2730 0.0 0.0 ? Ss Aug 13 00:00:00 fusermount -o rw,nosuid,nodev,allow_other,auto_unmount,subtype=MfibFuse -- /BessProc 3232 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Nat --demuxerOpts=1099846842576,1099845884354,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Nat 3237 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3242 0.0 1.2 ? S Aug 13 00:35:11 Nat 3254 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Vxlan --demuxerOpts=1100211266267,1100011505404,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Vxlan 3257 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3263 0.0 1.4 ? S Aug 13 00:17:55 Vxlan 3275 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=VxlanSwFwd --demuxerOpts=1104023511318,1100341538690,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/VxlanSwFwd 3277 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3278 0.0 1.4 ? S Aug 13 00:18:49 VxlanSwFwd 3315 0.0 0.0 ? Ss Aug 13 00:00:00 /usr/libexec/strongswan/starter --daemon charon 3317 0.0 0.1 ? Ssl Aug 13 00:02:49 /usr/libexec/strongswan/charon --use-syslog 3367 0.0 0.0 ? S Aug 13 00:00:00 netns --agenttitle=Fhrp --demuxerOpts=1113312651255,1113311572347,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/Fhrp --scheduled 3368 0.0 0.3 ? Ss Aug 13 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 3856 0.0 0.0 ? S Aug 13 00:00:02 [kworker/u8:0] 3977 0.0 0.0 ? S Aug 13 00:00:00 /usr/sbin/dnsmasq 14256 0.0 0.0 ? S 16:11:00 00:00:00 [kworker/0:0] 16699 0.0 0.0 ? S 16:17:01 00:00:00 [kworker/0:2] 18091 0.0 0.0 ? S 16:23:01 00:00:00 [kworker/0:1] 21755 0.0 0.0 ? S 16:29:00 00:00:00 [kworker/0:3] 22090 0.0 0.0 ? S Sep 01 00:00:00 /bin/sh /var/awslogs/bin/awslogs-agent-launcher.sh 24391 0.0 0.0 ? Rs 16:32:51 00:00:00 ps -e -o pid,pcpu,pmem,tt,stat,lstart,start,time,cmd --sort=-pcpu -ww 26289 0.0 0.0 ? S Aug 26 00:00:00 netns --agenttitle=CapiApp --demuxerOpts=5050641215580694,5050641215085095,tbl://sysdb/+n,Sysdb (pid:1476) --sysdbfd=7 --dlopen procmgr /usr/bin/CapiApp --ini /etc/uwsgi/CapiApp.ini 26290 0.0 0.3 ? Ss Aug 26 00:00:00 netnsd-session -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 26291 0.0 1.3 ? Sl Aug 26 00:03:57 CapiApp -d -i --dlopen -p -f -l libLoadDynamicLibs.so procmgr libProcMgrSetup.so --daemonize 26335 0.0 0.0 ? Ss Aug 26 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf -g pid /var/run/nginx.pid; 26337 0.0 0.1 ? S Aug 26 00:01:37 nginx: worker process | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/memory/test_memory.py::MemoryTests::test_memory_utilization_on_[kg-topology-CloudEOSEdge2] | Verify memory is not exceeding high utlization | 0.10 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |dut_name| memory utilization percent is |36.805150416317076%| and should be under 70% -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_memory.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_memory_utilization_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show version| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show version| on kg-topology-CloudEOSEdge2 INFO root:test_memory.py:71 TEST if memory utilization is less than specified value on |kg-topology-CloudEOSEdge2| INFO root:test_memory.py:73 GIVEN memory utilization is less than |70%| INFO root:test_memory.py:80 WHEN memory utilization is |36.805150416317076| INFO root:test_memory.py:83 THEN test case result is |True%| INFO root:test_memory.py:84 OUTPUT of |show version| is : Arista vEOS Hardware version: Serial number: DE52F26D16E91F22BB1B507175C8C765 System MAC address: 0635.02ca.8297 Software image version: 4.23.1F-cloud-16179785.jakartarel (engineering build) Architecture: x86_64 Internal build version: 4.23.1F-cloud-16179785.jakartarel Internal build ID: 6bc96200-86c1-4e86-bed7-8280a6802809 Uptime: 3 weeks, 6 days, 15 hours and 15 minutes Total memory: 7761392 kB Free memory: 2856712 kB INFO root:tests_tools.py:469 Find Index for test suite: test_memory.py on dut kg-topology-CloudEOSEdge2 INFO root:tests_tools.py:473 Test suite test_memory.py exists in results file at index 1 INFO root:tests_tools.py:480 Find Index for test case: test_memory_utilization_on_ on dut kg-topology-CloudEOSEdge2 INFO root:tests_tools.py:484 Test case test_memory_utilization_on_ exists in results file at index 0 INFO root:tests_tools.py:491 Add DUT kg-topology-CloudEOSEdge2 to test case test_memory_utilization_on_ with parameters {'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True, 'actual_output': 36.805150416317076, 'test_result': True, 'dut': 'kg-topology-CloudEOSEdge2'} | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/tacacs/test_tacacs.py::TacacsTests::test_if_tacacs_is_receiving_messages_on_[kg-topology-CloudEOSEdge2] | Verify tacacs messages are received correctly | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| does not have TACACS servers configured -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_tacacs.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_tacacs_is_receiving_messages_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show tacacs| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show tacacs| on kg-topology-CloudEOSEdge2 INFO root:tests_tools.py:377 Verify if tacacs server(s) are configured on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:383 0 tacacs serverws are configured so returning False INFO root:test_tacacs.py:136 TEST is |kg-topology-CloudEOSEdge2| receiving messages to TACACS server | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/users/test_users.py::UsersTests::test_if_usernames_are_configured_on_[kg-topology-CloudEOSEdge2] | Verify username is set correctly | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| |ec2-user| username is |configured| On router |kg-topology-CloudEOSEdge2| |kgrozis| username is |configured| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_users.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_usernames_are_configured_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show running-config section username| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show running-config section username| on kg-topology-CloudEOSEdge2 INFO root:test_users.py:74 TEST is ec2-user username configured |kg-topology-CloudEOSEdge2| INFO root:test_users.py:76 GIVEN ec2-user username configured status: |True| INFO root:test_users.py:82 WHEN ec2-user username configured status is |True| INFO root:test_users.py:84 THEN test case result is |True| INFO root:test_users.py:85 OUTPUT of |show running-config section username| is : no username admin ! username ec2-user nopassword username ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2 username kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f. INFO root:test_users.py:74 TEST is kgrozis username configured |kg-topology-CloudEOSEdge2| INFO root:test_users.py:76 GIVEN kgrozis username configured status: |True| INFO root:test_users.py:82 WHEN kgrozis username configured status is |True| INFO root:test_users.py:84 THEN test case result is |True| INFO root:test_users.py:85 OUTPUT of |show running-config section username| is : no username admin ! username ec2-user nopassword username ec2-user ssh-key ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCW9oTsCjh4dXhU/8P7WwXmgYoJqHcHwPXkCYWklBGHpvgjUBAekGJSfwgM+KMX6e1dX/jKXroFSiRGzafQadO2U2UryY7+1gS90vZ7KRam73Kyy83Is1+ptpgrAvc/F2zIl8PGBQAw3smkkIg6SIT2Rs1L+w+9iYgl0UX/wBuf7pIIjOXDaFBM8QFLMFK0msSIcwPKydoWLFOWbDdn9XxPsiJ5CRJfk2MWAgrXCgb0+4NYgaGRCYM+UJqElSmIj5LhLOf5BJppYNFGCvkMl6wUuBjbpgElefBKOgJbx8prlRIebcSSlutQdxrfcqS/evdLpqr6z9I0CVrr+j1hK4ID kgrozis-east2 username kgrozis secret sha512 $6$v79HvPRjgAsoZgMx$oKhb5cP4jZRmSbW4d0AGyN.2yImvSEhdfo3YiLiVrtKWphCSxxtKj15r/Mkldk614h8e2nCYxOLO1siJ0wB7f. | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/ztp/test_ztp.py::ZTPTests::test_if_zerotouch_is_disabled_on_[kg-topology-CloudEOSEdge2] | Verify ztp is disabled | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| ZTP process is in mode: |disabled| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_ztp.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_if_zerotouch_is_disabled_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |show zerotouch| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |show zerotouch| on kg-topology-CloudEOSEdge2 INFO root:test_ztp.py:71 TEST is ZTP disabled on |kg-topology-CloudEOSEdge2| INFO root:test_ztp.py:72 GIVEN ZTP state is |disabled| INFO root:test_ztp.py:78 WHEN ZTP state is |disabled| INFO root:test_ztp.py:81 THEN test case result is |True| INFO root:test_ztp.py:82 OUTPUT of |show zerotouch| is : ZeroTouch Mode: Disabled Script Exec Timeout: 900 | ||||
| Passed | kg-topology-CloudEOSEdge2 | tests/ztp/test_ztp.py::ZTPTests::test_for_zerotouch_config_file_on_[kg-topology-CloudEOSEdge2] | Verify zerotoucn-config file is on flash | 0.01 |
|
-------------------------------Captured log setup------------------------------- INFO root:tests_tools.py:91 Opening definitions.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'duts': [{'mgmt_ip': '3.22.137.44', 'name': 'kg-topology-CloudEosRR1', 'neighbors': [{'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.6.163', 'name': 'kg-topology-CloudEosRR2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.132.90.164', 'name': 'kg-topology-CloudEOSEdge1', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}, {'mgmt_ip': '3.131.34.190', 'name': 'kg-topology-CloudEOSEdge2', 'neighbors': [{'neighborDevice': 'spine01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet1'}, {'neighborDevice': 'leaf01', 'neighborPort': 'Ethernet2', 'port': 'Ethernet2'}], 'password': 'arista123', 'transport': 'https', 'username': 'kgrozis'}], 'parameters': {'eapi_file': '/home/docker/.eapi.conf', 'eapi_template': '../templates/eapi.conf.j2', 'excel_report': None, 'html_report': '../reports/report', 'json_report': '../reports/report', 'mark': None, 'processes': 4, 'report_dir': '../reports', 'results_file': 'result.yml', 'setup_show': False, 'show_log': 'show_output.log', 'stdout': False, 'test_cases': 'All', 'test_suites': None, 'tests_dir': './tests', 'test_definitions': 'tests_definitions.yaml', 'verbose': True}} INFO root:tests_tools.py:571 dir_path is f./tests INFO root:tests_tools.py:572 dir_names is f['interface', 'host', 'extension', 'memory', 'cpu', 'ztp', 'filesystem', '__pycache__', 'aaa', 'ntp', 'daemon', 'users', 'environment', 'api', 'dns', 'tacacs', 'logging'] INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_pytest.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/interface/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/interface/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_interface.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/interface/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_interfaces_baseline_health.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_interface.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/host/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/host/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_host.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/host/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_host.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/extension/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/extension/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_extension.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/extension/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_extension.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/memory/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/memory/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_memory.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/memory/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_memory.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/cpu/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/cpu/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_cpu.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/cpu/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_cpu.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ztp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ztp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ztp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ztp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ztp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/filesystem/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/filesystem/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_filesystem.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/filesystem/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_filesystem.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_pytest.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/aaa/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/aaa/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_aaa.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/aaa/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_aaa.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/ntp/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/ntp/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_ntp.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/ntp/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_ntp.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/daemon/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/daemon/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_daemon.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/daemon/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_daemon.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/users/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/users/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_users.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/users/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_users.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/environment/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/environment/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_environment.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/environment/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_environment.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/api/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/api/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_api.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/api/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_api.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/dns/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/dns/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:581 File test_dns.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/dns/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_dns.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/tacacs/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/tacacs/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_tacacs.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/tacacs/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_tacacs.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging INFO root:tests_tools.py:572 dir_names is f['__pycache__'] INFO root:tests_tools.py:576 YAML file is ./tests/logging/test_definition.yaml INFO root:tests_tools.py:91 Opening ./tests/logging/test_definition.yaml for read INFO root:tests_tools.py:96 Inputed the following yaml: {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:578 Test Definition is {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]} INFO root:tests_tools.py:581 File .pylintrc in not yaml INFO root:tests_tools.py:581 File test_logging.py in not yaml INFO root:tests_tools.py:581 File __init__.py in not yaml INFO root:tests_tools.py:571 dir_path is f./tests/logging/__pycache__ INFO root:tests_tools.py:572 dir_names is f[] INFO root:tests_tools.py:581 File __init__.cpython-38.pyc in not yaml INFO root:tests_tools.py:581 File test_logging.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_dut_platform_status.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:581 File test_base_feature_checklist.cpython-38-pytest-6.0.1.pyc in not yaml INFO root:tests_tools.py:596 Opening test_definitions.yaml for write INFO root:tests_tools.py:600 Output the following yaml: {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} INFO root:tests_tools.py:584 Return the following test definitions data strcuture {'test_suites': [{'name': 'test_interface.py', 'testcases': [{'name': 'test_if_intf_protocol_status_is_connected_on_', 'description': 'Verify the interfaces of interest protocol statuses are connected', 'expected_output': 'up', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_link_status_is_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'connected', 'show_cmd': 'show interfaces status', 'comment': None}, {'name': 'test_if_intf_phy_status_connected_on_', 'description': 'Verify the interfaces of interest link statuses are connected', 'expected_output': 'linkUp', 'show_cmd': 'show interfaces phy detail', 'comment': None}]}, {'name': 'test_host.py', 'testcases': [{'name': 'test_if_hostname_is_correcet_on_', 'description': 'Verify hostname is set on device is correct', 'expected_output': None, 'show_cmd': 'show hostname', 'comment': None, 'result': True}]}, {'name': 'test_extension.py', 'testcases': [{'name': 'test_if_extensions_are_installed_on_', 'description': 'Verify a list of extension are installed on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': 'installed', 'comment': None, 'result': True}, {'name': 'test_if_extensions_are_erroring_on_', 'description': 'Verify a list of extension are not erroring on a DUT', 'extensions': ['awslogs.swix', 'awsha.rpm'], 'show_cmd': 'show extensions', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_memory.py', 'testcases': [{'name': 'test_memory_utilization_on_', 'description': 'Verify memory is not exceeding high utlization', 'show_cmd': 'show version', 'expected_output': 70, 'comment': None, 'result': True}]}, {'name': 'test_cpu.py', 'testcases': [{'name': 'test_1_sec_cpu_utlization_on_', 'description': 'Verify 1 second CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_1_min_cpu_utlization_on_', 'description': 'Verify 1 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}, {'name': 'test_5_min_cpu_utlization_on_', 'description': 'Verify 5 minute CPU % is under specificied value', 'show_cmd': 'show processes', 'expected_output': 10, 'comment': None, 'result': True}]}, {'name': 'test_users.py', 'testcases': [{'name': 'test_if_usernames_are_configured_on_', 'description': 'Verify username is set correctly', 'usernames': ['ec2-user', 'kgrozis'], 'show_cmd': 'show running-config section username', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_filesystem.py', 'testcases': [{'name': 'test_if_files_on_', 'description': 'Verify filesystem is correct and expected files are present', 'files': ['flash:startup-config', 'flash:veos-config', 'flash:zerotouch-config'], 'expected_output': False, 'show_cmd': None, 'comment': None, 'result': True}]}, {'name': 'test_aaa.py', 'testcases': [{'name': 'test_if_authentication_counters_are_incrementing_on_', 'description': 'Verify AAA counters are working correctly', 'show_cmd': 'show aaa counters', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_aaa_session_logging_is_working_on_', 'description': 'Verify AAA session logging is working by identifying eapi connection', 'show_cmd': 'show users detail', 'expected_output': 'commandApi', 'comment': None, 'result': True}, {'name': 'test_if_commands_authorization_methods_set_on_', 'description': 'Verify AAA command authorization are method-lists set correct', 'cmd_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_authorization_methods_set_on_', 'description': 'Verify AAA exec authorization are method-lists set correct', 'exec_auth': ['none'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_default_login_authentication_methods_set_on_', 'description': 'Verify AAA default login authentication are method-lists set correct', 'login_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_login_authentication_methods_set_on_', 'description': 'AAA login authentication are method-lists set correct', 'login_auth': None, 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_authentication_methods_set_on_', 'description': 'Verify AAA dot1x authentication are method-lists set correct', 'dot1x_auth': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_enable_authentication_methods_set_on_', 'description': 'Verify AAA enable authentication are method-lists set correct', 'enable_auth': ['local'], 'show_cmd': 'show aaa methods all', 'expected_output': True, 'actual_output': None, 'comment': None, 'result': True}, {'name': 'test_if_system_accounting_methods_set_on_', 'description': 'Verify AAA system accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_exec_accounting_methods_set_on_', 'description': 'Verify AAA exec accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_priviledge_accounting_methods_set_on_', 'description': 'Verify AAA priviledge accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_dot1x_accounting_methods_set_on_', 'description': 'Verify AAA dot1x accounting method-lists are set correct', 'default_acct': [], 'console_acct': [], 'show_cmd': 'show aaa methods all', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_ntp.py', 'testcases': [{'name': 'test_if_ntp_is_synchronized_on_', 'description': 'Verify ntp is setup and working correctly', 'show_cmd': 'show ntp status', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_ntp_associated_with_peers_on_', 'description': 'Verify ntp peers are correct', 'show_cmd': 'show ntp associations', 'expected_output': 1, 'comment': None, 'result': True}, {'name': 'test_if_process_is_running_on_', 'description': 'Verify processes are running', 'show_cmd': 'show processes', 'processes': ['ntpd'], 'expected_output': 1, 'comment': None, 'result': True}]}, {'name': 'test_daemon.py', 'testcases': [{'name': 'test_if_daemons_are_running_on_', 'description': 'Verify a list of daemons are running on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}, {'name': 'test_if_daemons_are_enabled_on_', 'description': 'Verify a list of daemons are enabled on DUT', 'daemons': ['TerminAttr'], 'expected_output': True, 'show_cmd': 'show daemon', 'comment': None, 'result': True}]}, {'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}, {'name': 'test_environment.py', 'testcases': [{'name': 'test_if_system_environment_temp_are_in_spec_on_', 'description': 'Verify system temperature environmentals are functional within spec', 'expected_output': ['temperatureOk', False, False], 'show_cmd': 'show system environment temperature', 'comment': None, 'result': True}, {'name': 'test_if_system_environment_power_are_in_spec_on_', 'description': 'Verify system power environmentals are functional within spec', 'expected_output': 'ok', 'show_cmd': None, 'comment': None, 'result': True}, {'name': 'test_if_system_environment_cooling_is_in_spec_on_', 'description': 'Verify system cooling environmentals are functional within spec', 'expected_output': 'coolingOk', 'show_cmd': 'show system environment cooling', 'comment': None, 'result': True}]}, {'name': 'test_api.py', 'testcases': [{'name': 'test_if_management_https_api_server_is_running_on_', 'description': 'Verify management api https server is running', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_port_is_correct_on_', 'description': 'Verify https server is enabled on port 443', 'show_cmd': 'show management api http-commands', 'expected_output': 443, 'comment': None, 'result': True}, {'name': 'test_if_management_https_api_server_is_enabled_on_', 'description': 'Verify management api https server is enabled', 'show_cmd': 'show management api http-commands', 'expected_output': True, 'comment': None, 'result': True}, {'name': 'test_if_management_http_api_server_is_running_on_', 'description': 'Verify management api http server is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}, {'name': 'test_if_management_local_http_api_server_is_running_on_', 'description': 'Verify management api local httpserver is not running', 'show_cmd': 'show management api http-commands', 'expected_output': False, 'comment': None, 'result': True}]}, {'name': 'test_dns.py', 'testcases': [{'name': 'test_if_dns_resolves_on_', 'description': 'Verify DNS is running by performing pings and verifying name resolution', 'show_cmd': 'show management api http-commands', 'urls': ['google.com', 'cnn.com', 'arista.com'], 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_tacacs.py', 'testcases': [{'name': 'test_if_tacacs_is_sending_messages_on_', 'description': 'Verify tacacs messages are sending correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}, {'name': 'test_if_tacacs_is_receiving_messages_on_', 'description': 'Verify tacacs messages are received correctly', 'show_cmd': 'show tacacs', 'expected_output': None, 'comment': None, 'result': True}]}, {'name': 'test_logging.py', 'testcases': [{'name': 'test_if_log_messages_appear_on_', 'description': 'Verify local log messages', 'show_cmd': 'show logging', 'sys_msgs': ['critical', 'warning', 'ECC', 'servers errors', 'parity'], 'expected_output': None, 'comment': None, 'result': True}]}]} ------------------------------Captured stdout call------------------------------ On router |kg-topology-CloudEOSEdge2| ZTP configuration file is on flash: |True| -------------------------------Captured log call-------------------------------- INFO root:tests_tools.py:332 Identify test case and return parameters INFO root:tests_tools.py:335 Return testcases for Test Suite: test_ztp.py INFO root:tests_tools.py:338 Suite_parameters: [{'name': 'test_ztp.py', 'testcases': [{'name': 'test_if_zerotouch_is_disabled_on_', 'description': 'Verify local log messages', 'show_cmd': 'show zerotouch', 'expected_output': 'disabled', 'comment': None, 'result': True}, {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True}]}] INFO root:tests_tools.py:340 Return parameters for Test Case: test_for_zerotouch_config_file_on_ INFO root:tests_tools.py:343 Case_parameters: {'name': 'test_for_zerotouch_config_file_on_', 'description': 'Verify zerotoucn-config file is on flash', 'show_cmd': 'dir flash:zerotouch-config', 'expected_output': True, 'comment': None, 'result': True} INFO root:tests_tools.py:356 Verify if show command |dir flash:zerotouch-config| was successfully executed on kg-topology-CloudEOSEdge2 dut INFO root:tests_tools.py:360 Verified output for show command |dir flash:zerotouch-config| on kg-topology-CloudEOSEdge2 INFO root:test_ztp.py:106 TEST is ZTP configuration file is on |kg-topology-CloudEOSEdge2| INFO root:test_ztp.py:107 GIVEN ZTP configuration file is |True| INFO root:test_ztp.py:113 WHEN ZTP configuration file is |True| INFO root:test_ztp.py:116 THEN test case result is |True| INFO root:test_ztp.py:117 OUTPUT of |dir flash:zerotouch-config| is : Directory of flash:/zerotouch-config -rw- 13 Mar 30 23:38 zerotouch-config 8319852544 bytes total (7291580416 bytes free) | ||||